PDA

View Full Version : سوال: بستن یک فرم و باز کردن فرم دیگر



sokote_bi_payan
یک شنبه 21 مهر 1387, 11:03 صبح
به نام خدا

باسلام
خیلی معذرت می خوام که یه سوال خیلی ساده دارم می پرسم

من هر کاری می کنم نمی تونم فرم1 که بسته می شه فرم2 را باز کنم

در رویداد فرم کلوزینگ فرم2 رو شو می کنم ولی برنامه کامل بسته میشه

ممنون

hosseinsinohe
یک شنبه 21 مهر 1387, 11:16 صبح
به نام خدا

باسلام
خیلی معذرت می خوام که یه سوال خیلی ساده دارم می پرسم

من هر کاری می کنم نمی تونم فرم1 که بسته می شه فرم2 را باز کنم

در رویداد فرم کلوزینگ فرم2 رو شو می کنم ولی برنامه کامل بسته میشه

ممنون

توی C# وقتی فرم اصلی (فرم شروع برنامه)بسته بشه کل برنامه بسته می شه و از حافظه خارج می شه.ممکن اون فرمی رو که می بندی همون فرمی باشه که در ابتدای برنامه اجرا می شه

SMRAH1
یک شنبه 21 مهر 1387, 11:26 صبح
باید یک کلاس مشتق شده از ApplicationContext بسازی تا کنترل برنامه رو بر عهده بگیره و بعد در Application.Run،این کلاس رو بار کنی.
می تونی در مورد این مفاهیم در MSDN جستجو کنی (توضیحات کامل انگلیسی با نمونه کد هست).من هم در یک برنامه که اینجاست (http://barnamenevis.org/forum/showpost.php?p=605332&postcount=150)از این مفهوم (در Instal3) استفاده کرده ام.در واقع این مثال هم مانند مثال شما،نیاز دارد که فرمها بسته و باز شوند بدون اینکه برنامه بسته شود.

موفق باشید

manitack
یک شنبه 21 مهر 1387, 12:35 عصر
اگر فرم دوم Show بشه بجای ShowDialog مشکل حله.

Salar Ashgi
یک شنبه 21 مهر 1387, 13:58 عصر
سلام ، بنظر من این کار کمی پیچیده است ، چون وقتی مخرب Form1 فراخوانی میشه ،

این فرم دیگه از بین میره و رویدادش اجرا نخواهد شد !! شما میتونید این کار رو در یک Button

انجام بدید :



private void button1_Click(object sender, EventArgs e)
{
this.Hide();//Hides Form 1
new Form2().ShowDialog();
}

sokote_bi_payan
پنج شنبه 25 مهر 1387, 00:13 صبح
آقا ما هر کاری می کنیم کل برنامه بسته میشه

SMRAH1
پنج شنبه 25 مهر 1387, 06:52 صبح
دوست من اصلا مطلبی که گذاشته بودم دیدی.

kh1387
پنج شنبه 25 مهر 1387, 08:28 صبح
سلام دوست خوبم
از این کد استفاده کن ببین جواب می گیری؟


public partial class Login_User : Form
{
public static Login_User Frm;
public static DialogResult ShowForm()
{
Login_User frm = new Login_User();
Frm = frm;
DialogResult result = frm.ShowDialog();
return result;
}
}
////////////////////////////////////////////////
for go from form1 to Login_User
Login_User.ShowForm() ;
////////////////////////////////////////////////
for close Login_User in form2
Login_User .Frm.close()