ورود

نسخه کامل مشاهده نسخه کامل : يه سوال در باره چند فرمي ها



Nakh0d4
23-10-2012, 23:40
اقا من يه برنامه ميخوام بنويسم كه فرم1 فرم parent باشه و فرم 2و3 child باشند
و دو تا باتنم 2و3 دارم كه با زدنشوون بايد فرم 2 و3 بترتيب بايند
مشكل اينجاست كه وقتي باتن 3 رو ميزنم فرم 3 مياد ولي فرم 2 هم هستش چجوري بايد باشه كه فقط فرم 3 بياد

senaps
24-10-2012, 10:10
و دو تا باتنم 2و3 دارم كه با زدنشوون بايد فرم 2 و3 بترتيب بايند
مشكل اينجاست كه وقتي باتن 3 رو ميزنم فرم 3 مياد ولي فرم 2 هم هستش چجوري بايد باشه كه فقط فرم 3 بياد


سلام....
متاسفانه مشخص نشد چی گفتید! شما دو تا باتن دارید که میخواید با زدن هر‌کدوم یکی از فرم های دیگه باز بشه؟
یا چی؟

mahdi7610
24-10-2012, 12:54
اگه از متد ()ShowDialog استفاده کنید برای باز کردن فرم شماره 3 باید باید فرم شماره 2 را ببندید . در غیر این صورت اجازه باز شدن فرم شماره 3 را نخواهید داشت.


private void btnForm2_Click(object sender, EventArgs e) {
Form2 frm2 = new Form2();
frm2.ShowDialog();
}


private void btnForm3_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.ShowDialog();
}

اما اگه قصد دارید از متد ()Show استفاده کنید در این صورت باید به صورت زیر کدهاتون رو بنویسید.


Form2 frm2 = new Form2();

private void btnForm2_Click(object sender, EventArgs e)
{

frm2.Show();
}


private void btnForm3_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.Show();
frm2.Close();
}

Nakh0d4
25-10-2012, 23:57
اگه از متد ()ShowDialog استفاده کنید برای باز کردن فرم شماره 3 باید باید فرم شماره 2 را ببندید . در غیر این صورت اجازه باز شدن فرم شماره 3 را نخواهید داشت.



اما اگه قصد دارید از متد ()Show استفاده کنید در این صورت باید به صورت زیر کدهاتون رو بنویسید.

Dim form_paint As Form_Paint
form_paint = New Form_Paint
form_paint.MdiParent = Me
form_paint.MdiParent.ActiveMdiChild.Close()
form_paint.Show()
اينجوري درست شد