PDA

View Full Version : اجرای یک نمونه از فرم در برنامه



mas'oud
سه شنبه 18 مرداد 1390, 20:26 عصر
سلام، فرض کنید من یک فرم دارم که یک دکمه هم روشه، حالا روی دکمه کلیک میکنم و فرم دوم باز میشه، با این دستورات:


Form2 f2 = new Form2();
F2.Show();


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

quantomquery
سه شنبه 18 مرداد 1390, 20:42 عصر
یه بولین بساز و ترو و فالسش کن
استاتیک باشه

masoud_z_65
سه شنبه 18 مرداد 1390, 20:59 عصر
دوست عزیز و با توجه به چیزی که من به ذهنم میرسه الگوریتم اینکار باید اینطور باشه که توی کد دکمه بیای یه شرط بزاری که چک کنه ببینه اگه این فرم الان بازه یا فعاله از اون دیگه ایجاد نکنه و از روی کد show بگذره در غیر اینصورت اون رو show کنه
حالا قسمت اصلی کد همین قسمت شرطه.....من نتونستم همچین کاری کنم اما خوشحال میشم یکی همین سوال رو جواب بده که برای چک کردن باید چیکار کنیم
این رو من امتحان کردم اما نشد:


if(f2.Show())
{
MessageBox("is exixis");
}


f2.Show();

mas'oud
سه شنبه 18 مرداد 1390, 21:56 عصر
از متغیر بول استفاده کردم ولی اشکم درومد هر دفه یه جای کار لنگید!!!
ضمنا متد هایی که خروجیشون بول نیست رو نمیشه توی شرط گذاشت مسعود جان.

Reza_Yarahmadi
سه شنبه 18 مرداد 1390, 22:26 عصر
از خاصیت OpenForms مربوط به کلاس Application بصورت زیر استفاده کنید
Form f;
if (Application.OpenForms["Form2"] != null)
f = Application.OpenForms["Form2"];
else
f = new Form2();
f.Show();

SaeidHex
چهارشنبه 19 مرداد 1390, 03:52 صبح
...........