PDA

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



Jean Reno
شنبه 27 مهر 1387, 00:48 صبح
سلام
چطور می تونم از طریق فرم دوم که فرم اول اون رو لود کرده فرم اول رو ببندم

HamidNazari
شنبه 27 مهر 1387, 02:44 صبح
راه حلی که به ذهن من می​رسه اینه که فرم پدر رو انتساب بدیم به پراپرتی Owner فرم فرزند که از جنس Form هستش . بعد از فرم فرزند ، فرم پدر رو Hide کنیم . و در نهایت هنگام بسته شدن فرم فرزند ، برای اتمام برنامه فرم پدر رو هم ببندیم .

یه پروژه نمونه درست کردم که ۲ تا فرم داره و هر فرم یک دکمه ، که اولی فرزند رو باز می​کنه و دومی پدر رو می​بنده .

ParentForm.cs:


private void btnOpen_Click(object sender, EventArgs e)
{
Form2 frmChild = new Form2();
frmChild.Owner = this;
frmChild.Show();
}
ChildForm.cs:


private void btnClose_Click(object sender, EventArgs e)
{
Owner.Hide();
}

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.FormOwnerClosing)
{
e.Cancel = true;
Owner.Close();
}
}
احتمالاً راه بهتری هم هست ... قطعاً هست !