PDA

View Full Version : شکلی در نمایش فرمهای فرزند



benighted.boy
پنج شنبه 03 آبان 1386, 23:31 عصر
سلام به تمام دوستان و اساتید محترم.
من توی برنامم چندین تا فرم فرزند دارم که با این روش نمایش میدم :


ManagementSetting FrmManagementSetting = new ManagementSetting();
FrmManagementSetting.MdiParent = this;
FrmManagementSetting.Show();
حالا مشکلی که بر خوردم اینه که اگر کاربر چندین بار و بدون بستن فرم همون فرمو فراخونی کنه چندین تا فرم یک شکل باز میشه.
می خوام قیل از اینکه فرم Show بشه چک کنم که اگر فرمم باز نبود نمایش بده.
تعریف متغیر سراسری bool برای چک کردن حالت هم جواب نداد .
کسی میتونه منو کمک کنه ؟

hassan razavi
جمعه 04 آبان 1386, 00:03 صبح
می تونید از ShowDialog استفاده کنید . البته اگه محدودتون نمیکنه.
یا اینکه از یک متغیر Static استفاده کنید و تابع Constractor فرمتون اونو چک کنید و تصمیم گیری کنید.

egoldashraf
جمعه 04 آبان 1386, 01:30 صبح
وقتی میخواهید یک فرم فرزند رو باز کنید ، توی فرمهای فرزندی که باز هستند به دنبال نام فرم جدید بگردید.
اگر پیدا نکردید فرم رو نشون بدید.

benighted.boy
جمعه 04 آبان 1386, 11:58 صبح
از متغییر Static استفاده کردم که هر بار که فرم Show می شه مقدارش False شه و هر بار که فرم بسته می شه مقدار True شه .اما فرمو وقتی میبندم و میخوام دوباره Show کنم به خط


FrmManagementSetting.Show(); گیر میده .از ShowDialog هم نمیتونم استفاده کنم .خطا میده .در ضمن فرم فرزند هست.
دنبال راهی میگردم که قبل از اینکه فرم رو New کنم چک کنم که آیا اون فرم باز هست یا نه .
کسی راهی بلده ؟

اَرژنگ
جمعه 04 آبان 1386, 12:07 عصر
اگر ممکن است بیزحمت یک پروژه مثال بدید ما درستش کنیم بفرستیم.

benighted.boy
جمعه 04 آبان 1386, 12:29 عصر
حجم پروژه خودم و فرمام خیلی بالا بود واسه همین یه کاره ساده گذاشتم که فقط منظورم رو واضح تر بیان کنم.
می خوام هنگام کلیک بر روی دکمه اول چک بشه که فرمم باز هست یا خیر.اگر فرمم باز نبود باز کنه.وگر نه کاری انجام نده

egoldashraf
جمعه 04 آبان 1386, 12:37 عصر
امیدوارم به دردتون بخوره

benighted.boy
جمعه 04 آبان 1386, 12:47 عصر
خیلی ممنونم مشکلم حل شد .فقط میمونه یه سوال : غیر از اینکه از طریق چک کردن نام فرم جلوی باز شدن اون رو بگیریم راهه دیگه ای هم هست که فرم تا زمانی که باز هست اجازه ی New شدن به اون رو نده ؟

Mahdi.Kiani
جمعه 04 آبان 1386, 13:13 عصر
چرا از singleton pattern استفاده نمیکنن؟

اَرژنگ
جمعه 04 آبان 1386, 15:05 عصر
چرا از singleton pattern استفاده نمیکنن؟
به جایه سینگلتن از یک شبه روش دیگرش استفاده میکنیم :)

اَرژنگ
دوشنبه 07 آبان 1386, 11:58 صبح
امیدوارم به دردتون بخوره
این روش یک اشکال داره، منطق ساختن و یا نساختن را در خارج کلاس دارد، همانطور که night_fall2 (http://barnamenevis.org/forum/member.php?u=47458) اشاره کردند استفاده از منطق یک کلاس را در داخلش قرار دادن مانند سینگلتن پترن بهتر است.