PDA

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



MohammadPixel
دوشنبه 28 تیر 1395, 14:14 عصر
سلام خسته نباشید

من توی برنامه الان مثلا توی فرم 1 هستم ، حالا فرم 2 رو باز کردم با روش frm.ShowDialog(); .

حالا با هر روشی بخوام اون فرم 2 رو ببندم برنامه کلا بسته میشه

از Close(); و frm.Hide(); و این جور چیزا هم استفاده کردم...

ronix3
دوشنبه 28 تیر 1395, 14:56 عصر
frm.close();

MohammadPixel
دوشنبه 28 تیر 1395, 15:02 عصر
frm.close();
:|| تست کرده بودم قبلا ، انجام نمیشه! کل نرم افزار بسته میشه

بازم تاکید میکنم فرم دوم رو با متد ShowDialog باز کردم .

daniyaltjm
دوشنبه 28 تیر 1395, 15:12 عصر
فکرر نکنم مشکلی باشه!! تست کردم درست بود شما از این هم استفاده کن:
This.close();


و یا از این:

Form.ActiveForm.Close();

در زمانی هم که میخوای کل برنامت بسته شه از این:

Application.Exit();

mrprestige
دوشنبه 28 تیر 1395, 15:47 عصر
سلام خسته نباشید

من توی برنامه الان مثلا توی فرم 1 هستم ، حالا فرم 2 رو باز کردم با روش frm.ShowDialog(); .

حالا با هر روشی بخوام اون فرم 2 رو ببندم برنامه کلا بسته میشه

از Close(); و frm.Hide(); و این جور چیزا هم استفاده کردم...

سلام دوست من وقتت بخیر ، ببین دوست من توی پنل Solution Explorer فایل Program.cs رو باز کن تا وارد محیط کدنویسی اون بشی بعد از کلاس Program این کد رو بنویس

public class frm : ApplicationContext
{
public frm()
{
Application.Idle += new EventHandler(Application_Idle);
Form1 f1 = new Form1();
f1.Show();
}
void Application_Idle(object sender, EventArgs e)
{
if (Application.OpenForms.Count == 0)
Application.Exit();
}
}

اینجوری وقتی آخرین فرم رو میبندی ، برنامه بسته میشه. یعنی شما برای فراخوانی فرم 2 اگر فرم 1 رو close کنید برنامه بسته نمیشه
به این ترتیب با خیال راحت فرم ها رو Close کن.




اگه باز متوجه ندی یا برات سولی پیش اومد بگو تا برات توضیح بدم .