PDA

View Full Version : مبتدی: اشکال در نبودن متد show



ahmadreza517
شنبه 16 مهر 1390, 10:03 صبح
سلام دوستان خسته نباشید
یه سوال مبتدی ار حضورتون داشتم

من دو تا فرم دارم form2, form1 که روی form1 یک button دارم
می خام با کلیک بر روی button فرم2 باز بشه

می نویسم

Form2.


خاصیت های form2 نشون داده نمی شه
از جمله متد show باید چکار کنم

morteza271
شنبه 16 مهر 1390, 10:44 صبح
دوست عزیز شما اول باید یه Instance از فرمتون بسازید بعد اونو نمایش بدین.
به این صورت :

Form1 frm1 = new Form1();
frm1.ShowDialog();

ahmadreza517
شنبه 16 مهر 1390, 10:51 صبح
ممنون از شما
استفاده از این روش در هر بار کلیک بر روی button فرم مجدد باز میشه .
من فقط می خام زمانی که فرم 2 باز است دوباره با کلیک بر روی button فرم2 دوباره باز نشه مثل vb

morteza271
شنبه 16 مهر 1390, 11:19 صبح
خوب وقتی از متد ShowDialog استفاده کنید فرم زیر غیر فعال میشه و نمیشه اصلا کلیک کرد.
ولی اگه از متد show استفاده میکنید باید از روش زیر استفاده کنید :

Form1 frm1 = null;
private void button1_Click(object sender, EventArgs e)
{
if (frm1 == null)
{
frm1 = new Form1();
frm1.Show();
}
}

ahmadreza517
شنبه 16 مهر 1390, 12:01 عصر
دست شما درد نکنه
کسی راه دیگه ای بلده ممنون میشم راهنماییم کنه

Payman62
شنبه 16 مهر 1390, 12:26 عصر
سلام.
میتونی یه متغیر پابلیک بولین استاتیک تو فرم 2 تعریف کنی و تو ایونت فرم لود ترو و تو ایونت فرم کلوزینگ فالسش کنی. بعد تو فرم یک قبل باز کردن فرم 2 بگی که اگر اون متغیر فالس بود فرم 2 رو باز کنه.

morteza271
شنبه 16 مهر 1390, 12:58 عصر
دست شما درد نکنه
کسی راه دیگه ای بلده ممنون میشم راهنماییم کنه

مگه این راهی که گفتم درست نبود!!!!!!
در ضمن روشی که دوستمون هم گفتن درسته ولی فکر نمیکنم زیاد تفاوتی با روش من داشته باشه!!!!
موفق باشید دوست عزیز.

hamed_red
پنج شنبه 05 آبان 1390, 03:04 صبح
من دو تا فرم دارم form2, form1 که روی form1 یک button دارم
می خام با کلیک بر روی button فرم2 باز بشه


دوست عزیز، میتونید در رویداد کلیک دکمه ای که روی فرم1 دارین کد زیر رو بنویسید.
اونوقت تا فرم2 رو نبستید، فرم1 قابل دسترس نخواهد بود.

1 Form2 frmnew2 = new Form2();
2 frmnew2.ShowDialog();

h-rafiee
پنج شنبه 05 آبان 1390, 09:14 صبح
اگه با رفتن به فرم دوم دگ نیازی به فرم اول نداری می تونی از متد Hide استفاده کنی اینجوری برنامه ات هم قشنگتر میشه.
و اینجوری کاربر دگر نمی تونه دوبار روی دکمه مربوطه برای اینکار کلیک کنه.

this.Hide();
form2 x = new form2();
x.ShowDialog();
this.Show();

توجه کن که این دستور برای فرم اولیه و لزوم this.show برای اونه که با بستن فرم دوم ، فرم قبلی نشون داده بشه.
با تشکر