باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
سلام
وقتی برنامه رو باز می کنم نام کاربری و رمز عبور رو باید وارد کنم.
وقتی وارد برنامه می شم و با یه پنجره ای که درست کردم می خوام نام کاربری و رمز عبورم رو تغییر بدم ولی وقتی که این کار رو می کنم فرم قبلی باید بسته بشه ولی همچین اتفاقی نمی افته و دوباره یک فرم دیگر باز می شود ( یعنی همان پرنت فرم ).
اگر 10 باز نام کاربری و رمز عبور رو تغییر بدم 10 تا پرنت فرم برام باز می کنه.
چطور می تونم قبلی رو ببندم؟
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
با بستن فرم پرنت کل برنامه بسته میشه. شما نباید از فرم پرنت new کنی میتونی اونو hide کنی و دوباره show کنی
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
نقل قول:
نوشته شده توسط
behzadkhatari
با بستن فرم پرنت کل برنامه بسته میشه. شما نباید از فرم پرنت new کنی میتونی اونو hide کنی و دوباره show کنی
چطوری باید این کار رو انجام بدم؟
کدش چیه؟؟؟
اگه منظور شما اینه که ایراد می گیره:
MdiParent.Hide();
MdiParent.ShowDialog();
اررورش اینه:
Object reference not set to an instance of an object.
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
private void btnSwitchUsr_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadProc));
t.Start();
this.Close();
}
public static void ThreadProc()
{
Application.Run(new frmLogin ());
}
btnSwitchUsr در فرمی که می خای بسته بشه قرار داره.
frmLogin فرمی که یوزر و پسورد می گیره
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
نقل قول:
نوشته شده توسط
Kubuntu
private void btnSwitchUsr_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadProc));
t.Start();
this.Close();
}
public static void ThreadProc()
{
Application.Run(new frmLogin ());
}
btnSwitchUsr در فرمی که می خای بسته بشه قرار داره.
frmLogin فرمی که یوزر و پسورد می گیره
اون رویداد دکمه رو به این شکل تغییر دادم:
private void changeToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(frmTaghireKaarbar.Thr eadProc));
t.Start();
this.Close();
}
درست شد ولی یه اشکال داره:
وقتی داخل پرنت فرم رویداد بالا رو اجرا می کنم پنجره تغییر رمزعبور و نام کاربری باز می شه.
وقتی که اون باز می شه پرنت فرم بسته می شه یعنی اگر از تغییر نام کاربری و رمز عبور منصرف بشم و دکمه انصراف رو بزنم کل برنامه بسته می شه.
حالا مشکل اینجاست که وقتی نام کاربری و رمز عبور رو می زنم و دکمه تأیید رو می زنم پرنت فرم باز می شه ولی پنجره تغییر نام کاربری و رمز عبور هم باز می مونه و حتی قابل انتخاب هم نیست.
راستی اون تابع pubkic رو در خود پرنت فرم هم که گذاشتم جواب داد یعنی همان فرمی که رویداد کلیک شما رو در اونجا نوشته بودم.
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
نیاز به این نیست که کد رو تغییر بدی. اگه از عین کد استفاده کنی این مشکلات رو هم نداری.
تازه کافیه شما یوزر و پسورد جاری رو در متغیری ذخیره کنی و وقتی کاربر انصراف رو زد ازش استفاده کنی.
نقل قول: باز شدن دوباره فرم بعد از عوض کردن نام کاربری و رمز عبور
یه کار دیگه ای کردم.
وقتی که تغییر کاربر رو می زنه به جای اینکه پنجره تغییر نام کاربری و رمزعبور باز بشه کد زیر رو نوشتم:
Application.Restart();
اینجوری برنامه از اول باز می شه و کاربر می تونه نام کاربری و رمزعبورش رو هم بزنه.