مادوفرم داريم حال مي خواهم هرگاه روي دكمه فرم يك كليك كردم فرم دوبازشودوفرم يك هم بسته شود(هايدنشود)چكاركنم
Printable View
مادوفرم داريم حال مي خواهم هرگاه روي دكمه فرم يك كليك كردم فرم دوبازشودوفرم يك هم بسته شود(هايدنشود)چكاركنم
اگه فرم یک فرم اصلی برنامت نباشه می تونی به راحتی اون فرم رو ببندی
this.Close();
Form2 f=new Form2();
f.Show();
this.Close();
سلام. نمیشه!! اگر Form2 باز بشه و Form1 بسته بشه، کل برنامه بسته میشه، مگر اینکه Form2 را به عنوان فرم شروع کننده انتخاب کنی، بعد Form1 باز و Form2 را ببندی.
Form1 OpenForm1 = new Form1();
OpenForm1.Show();
this.Close();
کلا کد این هست. ولی باید فرم شروع را عوض کنی با کد زیر. (در فایل program.cs)
Application.Run(new Form2());
این رو بنویس دیگه حالشو ببر
System.Threading.Thread f = new System.Threading.Thread(() => { Form2 t = new Form2(); t.ShowDialog(); });
f.Start();
this.Close();
نمیدونم مشکل اصلیتان چیه که به چنین چیزی نیاز دارید.
بستگی به نیاز واقعی میشه روشهایه مختلف پیشنهاد کرد.
اگر برایه نشان دادن یک فرم لگین لازم دارید قبلاً یک مثال برایه همین کار که یک فرم را نشان بده و بعد از اینکه پسورد درست بود و فرم بسته شد فرم اصلی را نشان بده فرستاده بودم. (روش نگهداری و مقایسه پسوردش فقط برایه نمایش بود و در کار واقعی توصیه نمیشه).
یک روش ساده دیگر هم استفاده از این کد:
Application.Run(new Form1());
Application.Run(new Form2());
منتها من هیج جا نه استفاده از این کد را دیدم و نه در مورد مشکلات و مزایاش چیزی میگم، اگر روش اصلی درست باشد به چنین کارهایی که کد را کج و ماوج کنیم که به یک منظوری قد بده نیازی نیست.استفاده از چنین نوع کدهایی را که در ظاحر یک نیازی را براورده میکنند ولی در باتن معلوم نیست چه عوارظ جانبی را بوجود بیارند هیح وقت توصیه نمیکنم.
به جایه اینکه چکار میخواهید انجام بدید به اینکه چرا به این کار نیاز دارید فکر کنید و به ما هم بگید هم خودتان پیشرفت میکنید و هم ما راحتر میتونیم کمکتان کنیم. داشتن فلسفه در برنامهنویسی از کد سرهم کردن مهمتر است.
چرا ببندی
مخفیش کن و ویزیبل رو فالز کن
من قبلا اين سوال مطرح كردم و جوابي كه گرفتم و مشكلم حل كرد اين بود
form objf=new form();
this.close();
this.dispose();
objf.showdialog();