PDA

View Full Version : میخواهم فقط یک نمونه از کلاس در حال اجرا باشد .....



Babak-Aghili
سه شنبه 24 خرداد 1384, 00:47 صبح
با سلام. ( ببخشید دیگه ! تازه کاریم !! )
--------
وقتی میگم که

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

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

میخواستم بدانم که آیا یک راه درست حسابی ( مثلا چک کردن وجود یک Instance از آن فرم ) برای جل.گیری از این مشکل وجود دارد و یا اینکه باید یک متغیر Boolean بگیرم و .....

:flower:

omid_Ahmadi
سه شنبه 24 خرداد 1384, 09:31 صبح
باید فرم رو به صورت Modal نشان بدی یعنی به جای


Form.Show()

از


Form.ShowDialog()

استفاده کنی.

Kamran.K
سه شنبه 24 خرداد 1384, 10:09 صبح
public Form F;


و برای فراخوانی:


using (f=new Form())
{
f.ShowDialog();
//do any thing u want
}

این کد باعث میشه پس از تکمیل اجرای بلاک using فرم f از حافظه خارج بشه!

M.GhanaatPisheh
سه شنبه 24 خرداد 1384, 12:18 عصر
از Singleton Pattern استفاده کنید
اساس این الگو حل همین مشکل هست.
توی همین بخش Singleton رو Search کنید.

M.GhanaatPisheh
سه شنبه 24 خرداد 1384, 12:20 عصر
http://www.barnamenevis.org/forum/viewtopic.php?t=24740&highlight=singleton
نمی خواد Search کنید.
:wink:

Babak-Aghili
سه شنبه 24 خرداد 1384, 18:38 عصر
دست همگی دوستان درد نکنه ( البته اساتید ! )

ممنون ... فکر نمیکردم همه سی شارپ کارهای معروف این بخش به سوالم جواب بدهند ...

تشکر ... :flower: