PDA

View Full Version : مدیریت فرمها



masuodv
دوشنبه 05 اردیبهشت 1390, 16:14 عصر
سلام.
من تو سی شارپ تاره کارم برا همین شاید سوالم مسخره باشه ولی خواهشا راهنمایی کنید.


من دارم یه برنامه می نویسم که چند تا فرم داره. اولین فرم یه فرم برای لاگینه! وقتی لاگین صورت گرفت،فرم مخفی شده و فرم جدید باز می شود:

form1.activeform.hide();
form form2=new form2();
form2.activeform.show();
حالا سوالم اینجاس:
چطوری می تونم فرم اول رو کلا ببندم و فرم دوم رو نمایش بدم، بطوری که وقتی فرم دوم بسته شد کل پروژه بسته شه؟
یه سوال دیگه هم این که اگه بخواهیم وقتی فرم دوم بسته شد، فرم اول مجدد نمایش داده شود باید چیکار کنم؟
ببخشید اگه طولانی شد.
ممنون.

masuodv
دوشنبه 05 اردیبهشت 1390, 21:34 عصر
یعنی هیچکس بلد نیست؟

rezatati
سه شنبه 06 اردیبهشت 1390, 10:07 صبح
عزیز این هم جواب سوالت
ابتدا تو فرم login در صورتی که کلمه ی عبور برنامه درست بود کد زیر رو اجرا کن
DialogResult = DialogResult.OK;

و بعد توی فایل Program.cs میتونی از کد زیر استفاده کنی

LoginForm loginfrm = new LoginForm();
loginfrm.ShowDialog();
if (loginfrm.DialogResult == System.Windows.Forms.DialogResult.OK)
{
System.Windows.Forms.Application.Run(new MainForm());
}

rezatati
سه شنبه 06 اردیبهشت 1390, 10:09 صبح
در ضمن یادم رفت بگم میتونی توی همون جایی که رمز رو چک می کنی و اون دستورو اجرا میکنی میتونی در صورت درست بودن رمز عبور میتونی فرم رو ببندی

rezatati
سه شنبه 06 اردیبهشت 1390, 10:13 صبح
در مورد سوال دومت هم ابتدا فرم اولت رو مخفی کن سپس با متد ShowDialog فرم دومت رو نمایش بده و بعد از اینکه فرمت بسته شده درست خط بعد از این متد اجرا میشه یعنی فرم اولت با اجرای این متد منتظر بسته شدن فرم دومت می مونه و بعد ازاین متد فرم اولت رو میتونی دوباره show کنی

masuodv
سه شنبه 06 اردیبهشت 1390, 14:47 عصر
سلام.
دست شما درد نکنه، با کدی که گذاشتید حل شد. حالا یه سوال دیگه هم دارم که ممنون میشم راهنمایی کنید.
من یه فرم به پروژم اضافه کردم و اسمش رو frmMain گذاشتم.حالا برای نمایشش این طوری عمل می کنم:

Form frmMain = new Form();
درست هم کار میکنه! ولی می بینم همه جا یه طوره دیگه فرمهاشون رو اعلان می کنن. مثلا برا فرم من میشه این جوری:

frmMain FormMain = new frmMaiin();
حالا می خواستم ببینم کدوماش درسته؟ این دو تا چه فرقی با هم دارن؟
ممنون.