–1 امتیاز
سلام

من میخوام در فرم لاگینم برای ورود به سایت که دانشجو و کتابدار و مدیر هستند اینجوری تعریف کنم با توجه به نقش اونا صفحشون رو باز کنه یعنی داینامیک طراحی کنم میتونم این کار رو با enum انجام بدم؟ چطوری؟
بسته شده

4 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام ، متاسفانه الان به Vs دسترسی ندارم ، کدهای زیر رو در Notepad نوشتم ، ممکنه اشتباه تایپی درش باشه . در صفحه ای که می خواین اعمال مدیریتی رو درش انجام بدین و یا کلا بخاین سطح دسرتسی داخلش اعمال کنید می تونید کدهایی شبیه زیر بنویسید :

public enum TypeOfUsers{
	admin, student
};

private TypeOfUsers _userType;

public TypeOfUsers UserType{
	get{return this._userType;}
	set{this._userType = value;}
}


private void frmAdmin_Load(object sender, System.EventArgs args) {
   if (this._userType == TypeOfUsers.admin) {
      //admin permission set here 
      //Example : this.btnInsert.Enabled = true;
   } else if (this._userType == TypeOfUsers.student)  {
      //student permission goes here      
      //Example : this.btnInsert.Enabled = false;
   }
}

و در صفحه Login باید کدهاتون شبیه زیر بنویسید :

private void btnLogin_Click(object sender, System.EventArgs arg){
   string username = this.username.Text.Trim();
   string password = this.password.Text.Trim();
   
   frmAdmin formAdmin = new frmAdmin();

   if (username == "admin" && this.password == "admin") {
     formAdmin.UserType = TypeOfUsers.admin;      
   } else {
     formAdmin.UserType = TypeOfUsers.student;
   }

   formAdmin.ShowDialog();
}

کد های بالا رو سعی کردم به ساده ترین شکل ممکن بنویسم . در کدهای بالا مقادیر username و Password رو به شکل ساده داخل کد ها نوشتم ، شما می تونید این مقادیر رو از بانک بخونید .

کدهای بالا ممکنه اشتباه تایپی داشته باشه به همون دلیلی که بالا عرض کردم . ولی کلیتش همینه که نوشتم .

+1 امتیاز
سلام ، بله میتونید ، شما ابتدا یک نوع enum تعریف کنید و دانشجو و کتابدار رو به عنوان اعضای اون قرار بدید . سپس یک خاصیت از این نوع شمارشی تعریف کنید و بر اساس این خاصیت مشخص کنید اعضای فرم چطوری نمایش داده شوند.
0 امتیاز

والا منم همینکارو کردم ولی فقط صفحه مدیریت باز میشه

        enum roles { admin = 1, public1 = 2, ketabdar = 3 };
                roles value = roles.admin;
                    if (value == roles.ketabdar)

من اینجوری تعریف کردم.ولی فقط صفحه مدیریت اجرا میشه یعنی دانشجو هم میاد صفحه مدیریت باز میشه

کدتون اشتباه هست ، وقتی این فرم رو نمایش میدین باید مقدار خاصیت رو مشخص کنید ، در کد بالا شما یک مقدار ثابت که همون مدیر هست رو مشخص کردین ، به خاطر همین هست که همیشه صفحه مدیر نمایش داده میشه
توسط (6,145 امتیاز) 5 11 116
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...