PDA

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



Dr.Saeed
جمعه 04 بهمن 1387, 18:15 عصر
با سلام
دوستان اغلب در بستن فرمهایی که پیش فرم دیگری هستند مانند فرم پسورد ها که در شرایط خاص می بایست فرمی دیگر را باز کنند مشکل دارم
اگر از کد this.close() استفاده کنم هر دوی فرمها را می بندد ممنون میشم راهنماییم کنید.

Sajjad.Aghapour
جمعه 04 بهمن 1387, 19:06 عصر
از showDialog استفاده کنید.در فرم های login هم از همین روش استفاده میشه و خاصیت DialogResult

irsa2010
جمعه 04 بهمن 1387, 20:14 عصر
برای بستن از hide و برای بازکردن دوباره از showیا showDialog استفاده کن
صد در صد جواب میده

behroz1387
جمعه 04 بهمن 1387, 21:34 عصر
دوست عزيز
بجاي كد
this.close();
كد
this.hide();
وارد كن

ali_mnkt
جمعه 04 بهمن 1387, 23:15 عصر
خوب اگه بخوایم از فرم دوم دوباره به فرمی که hide شده برگردیم باید چیکار کنیم دوباره از اون باید یه شی

بسازیم تا بشه show کردش یا راه دیگه ای هم هست ؟ چون در فرم دوم برای دسترسی به فرم hide شده

متد show نداره یعنی نمی شه نوشت form1.show

Dr.Saeed
شنبه 05 بهمن 1387, 12:30 عصر
از showDialog استفاده کنید.در فرم های login هم از همین روش استفاده میشه و خاصیت DialogResult
با تشکر دوست عزیز
این روش فرم را باز میکند ولی فرم قبلی رانمی بندد که اینگونه شایسته نیست میخواهم فرم که باز شد فرم اولی بسته شود!
حتی this.hide() هم کمکی نکرد!

H2K
شنبه 05 بهمن 1387, 14:00 عصر
سلام آقا جان آقاى كيانى يه مقاله مفصل گذشتن در اين مورد اونو دل كن مشكل ات برطرف ميشه

Sajjad.Aghapour
شنبه 05 بهمن 1387, 14:25 عصر
این روش فرم را باز میکند ولی فرم قبلی رانمی بندد که اینگونه شایسته نیست میخواهم فرم که باز شد فرم اولی بسته شود!

این برای مشکل شما


this.Hide();
new Form2().ShowDialog();
this.Close();

این هم برای فرمهای login


if (frmLogin.ShoeDialog()==DialogResult.OK)
Application.Run(Form1());

ali_mnkt
یک شنبه 06 بهمن 1387, 11:46 صبح
دوست عزیز مشگل من با application.run(new form1());

o

حل نشد یعنی نتونستم از form2 به form1 که hiden شده رو دوباره اجرا کنم با دستور بالا خطای

که عکسشو گذاشتم می ده. کسی راه حل دیگه ای نداره ؟

Sajjad.Aghapour
یک شنبه 06 بهمن 1387, 15:21 عصر
دوست عزیز فکر کنم یه خورده کدها رو قاطی کردید.گفتم مشکل شما با کد اول برطرف میشه.کد دوم نمونه ای از کنترل یک فرم login بود که در کلاس program نوشته میشه.
اگه کلاس program رو در solution باز کنید کد Application.Run رو اونجا خواهید دید.....
اگه به خطا هم توجه کنید میگه به جای این کد از ShowDialog استفاده کنید......
..
موفق باشید...

ali_mnkt
یک شنبه 06 بهمن 1387, 23:34 عصر
کد اول برای hide کردن فرم اول و نمایش فرم دوم هست ولی من می خوام وقتی تو فرم دوم هستم با کلیک

روی یه button به فرم اول برگردم ( فرم اولم هم فرم اصلی برناممه یعنی با بسته شدن اون کل برنامه بسته

می شه ) بدون اینکه از فرم اولم بخوام شی بسازم حالا چه راهی رو پیشنهاد می کنید ؟

ali_mnkt
دوشنبه 07 بهمن 1387, 12:49 عصر
کسی نظری نداره؟