PDA

View Full Version : نمایش فرم بعد از Close کردن آن



mahdi68
دوشنبه 11 بهمن 1389, 16:17 عصر
سلام
تفاوت متد های Hide و Close روی فرم در چیست ؟ چرا وقتی یک فرم Close کنیم دیگه نمیشه اونو Show کرد ؟ چجوری میشه یک فرم بعداینکه Close کردیم دوباره نمایش داد ؟
متشکرم

sds1920
دوشنبه 11 بهمن 1389, 16:23 عصر
متد Close فرم رو می بنده و تمام منابع تخصیص یافته ی اون رو آزاد می کنه پس وقتی Close کردید باید برای نمایش مجدد دوباره فرم را با new شبیه سازی کنید ولی متد Hide فرم رو نمی بنده فقط Visible اون رو false می کنه پس می تونید با show مجددا نمایشش بدید.

syntiberium
دوشنبه 11 بهمن 1389, 17:17 عصر
شما چاره ای ندارید جز این که از دستور زیر استفاده کنید .



Form2 frm2 = new Form2();

frm2.Show();

و این کد باعث می شه که هر بار که این کد اجرا می شه یک کپی از فرم دوم روی صفحه ظاهر بشه . برای اینکه از چند تایی شدن صفحات فرم دوم جلو گیری کنید یعنی کاری کنید که از هر فرم فقط یه دونه توی صفحه وجود داشته باشه باید یه کلاس بسازید و توی فرم اول صدا بزنید و یک متغیر بولین از نوع public static بسازید که فرم دوم هم به آن دسترسی داشته باشه . وقتی یک فرم جدید از فرم دوم میسازید آن متغیر را true کنید و تا زمانی که true است اجازه ی ساخت دوباره ی فرم دوم را ندهید و وقتی close فرم دوم را می زنید توی form2_closing باید متغیر را false کنید . اگر مفهوم نبود بگید تا بیشتر توضیح بدم .