PDA

View Full Version : بستن فرم Login و ورود به فرم اصلی



asghar2008
دوشنبه 25 آبان 1394, 21:53 عصر
سلام

خسته نباشید..

یک سوال مبتدی از دوستان داشتم که واقعا جای تعجبه.. !!!

در فایل program.cs من فرم اصلی رو برابر فرم لوگین قرار دادم حالا میخوام وقتی فرم لوگین نمایش داده شد بعد از وارد کردن نام کاربری و پسورد ، و با زدن دکمه ورد فرم لوگین بسته شه و فرم اصلی نمایش داده بشه..

اما متاسفانه وقتی فرم لوگین رو close میکنم کل پروژه بسته میشه ..

در #C چطوری میتوان فرم StartUp زو مشخص کرد ؟

پسرک کنجکاو
دوشنبه 25 آبان 1394, 22:07 عصر
خب تو رویداد فرم بعد از اینکه اهراز هویت شده می ری این کد رو می زنی
this.hide():

sg.programmer
دوشنبه 25 آبان 1394, 22:13 عصر
در فایل در فایل program.cs نباید فرم لاگین را فرم اصلی قرار بدی. فرم اصلیت باید فرمی باشه که بقیه فرم ها را مدیریت میکنه حتی فرم لاگین را

asghar2008
دوشنبه 25 آبان 1394, 22:20 عصر
در فایل در فایل program.cs نباید فرم لاگین را فرم اصلی قرار بدی. فرم اصلیت باید فرمی باشه که بقیه فرم ها را مدیریت میکنه حتی فرم لاگین را

فرمایش شما کاملا درسته..

اما چطوری فرم StartUp (اولین فرم که نمایش داده میشه)رو برابر فرم لوگین قرار بدم ؟؟تو VB.Net براحتی میشه اینکار و انجام دادم

پسرک کنجکاو
دوشنبه 25 آبان 1394, 22:21 عصر
فرمایش شما کاملا درسته..

اما چطوری فرم StartUp (اولین فرم که نمایش داده میشه)رو برابر فرم لوگین قرار بدم ؟؟تو VB.Net براحتی میشه اینکار و انجام دادم
دوست عزیز ما به جایی کلوس بزن رو هاد رفع می شه مکلت

hosseines
دوشنبه 25 آبان 1394, 22:25 عصر
1- در فایل program.cs فرم اصلی را قرار بده
2- متغییر public Boolean Result = false; در فرم لاگین نوشته
3- در لود فرم اصلی



FrmLogin fl = new FrmLogin();
fl.ShowDialog();

if (fl.Result == false)
{
Application.Exit();



5- در فرم لاگین برای دکمه ورود


if (txtPassword.Text == CmbUserName.SelectedValue.ToString())
{
Result = true;
this.Close();
}
else
{

}

asghar2008
دوشنبه 25 آبان 1394, 22:54 عصر
ساده ترین راه در تنظیم کردن فرم startup چیه ؟

چطوری این کاری رو میشه انجام داد ؟

:لبخندساده:

Mahmoud.Afrad
سه شنبه 26 آبان 1394, 19:40 عصر
همون کاری که کردید باعث میشه فرم startup تغییر کنه.

یکی از ساده ترین روشها اینه که در فرم لاگین اگر اطلاعات ورودی درست بود DialogResult رو برابر DialogResult.OK بزارید و فرم لاگین رو ببندید.

private void btnCheckInfo_Click(object sender, EventArgs e)
{
// check input info
// if user is authorised then set property to ok
// else set it to false
if ( /* */)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show(@"user is not authorised ");
}
}

در کلاس Program مقدار پراپرتی DialogResult از فرم لاگین رو چک کنید، اگر برابر ok بود فرم اصلی رو ایجاد کنید. البته فرم لاگین رو با متد ShowDialog نمایش بدید.(روند شبیه نمایش MessageBox و چک کردن دکمه فشرده شده هست)

private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);

FrmLogin frm = new FrmLogin();
DialogResult result = frm.ShowDialog();
if (result == DialogResult.OK)
{
Application.Run(new FrmMain());
}
}