PDA

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



moh899
یک شنبه 19 خرداد 1392, 16:43 عصر
با سلام
می خواهم در mdi formفرم های فرزدند یکبار بیشتر باز نشوند.مٍثلا یک دکمه برای باز شدن Form2هست یکبار که کلیک شد باز شود برای بار دوم که کلیک شد فرم جدیدی باز نشود
لطفاً کمک کنید
با تشکر

veniz2008
یک شنبه 19 خرداد 1392, 17:30 عصر
سلام.
داخل دکمه، این کد رو بنویس :

if (Application.OpenForms["Form2"] == null)
new Form2().ShowDialog();

موفق باشید.

moh899
یک شنبه 19 خرداد 1392, 21:12 عصر
ممنون دوست عزیر
یه سوال دیگه .حالا این فرم مورد نظر رو چه جوری اکتیو کنم.مثلاً Form2وForm3 که فرزند های فرم پدر هستن در حال نمایش هستند ولی فرم2 زیر فرم 3 هست می خوام با کلیک روی دکمه مورد نظر اون فرم بیاد روی فرم های دیگه.
با تشکر

veniz2008
یک شنبه 19 خرداد 1392, 22:26 عصر
کافیه فرم مورد نظر رو focus کنی تا بالاتر از بقیه فرم ها نشون داده بشه.


if (Application.OpenForms["Form2"] == null)
new Form2().ShowDialog();
else
Form2.Focus();

moh899
دوشنبه 20 خرداد 1392, 14:32 عصر
ممنو ن ولی خطا داد
An object reference is required for the non-static field, method, or property 'System.Windows.Forms.Control.Focus()'

veniz2008
دوشنبه 20 خرداد 1392, 15:48 عصر
کد رو بصورت زیر اصلاح کنید :
در partial یک نمونه از فرم دوم بسازید :

Form2 frm2;
در داخل دکمه ای که فرم 2 رو باز میکنید کد زیر رو بنویسید:

if (Application.OpenForms["Form2"] == null)
{
frm2 = new Form2();
frm2.MdiParent = this;
frm2.Show();
}
else
{
frm2.Focus();
}