C# 按钮问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 08:59:41
我在父窗体设置了两个按钮A和B
想点击A时弹出一个新窗体FormA,点击B时弹出新窗体FormB,
功能好实现,可点完A,再点B时,如何让以前的FormA窗体随之关闭呢?

buttonA_cilick(){
FormC = FormA
if(FormB == open)FormB.close();
}

buttonB_cilick(){
FormC = FormB
if(FormA == open)FormA.close();
}
//代码不一定能用,但...
通过一个FormC窗口来取得当前窗口,这样你爱关那个就关那个

遍历一下看看它如果有子窗体就关掉

close()方法

以下的代码实现了在点击button1时弹出Form2,点击button2时关闭Form2,然后弹出Form3。解决问题的思路是使弹出Form3的逻辑中可以访问Form2,因为这有这样才可以通过调用Close()关闭Form2。解决办法是把弹出的Form2作为一个域,这样,当前类的其他方法也可以访问它了。

Form2 fr2;
Form3 fr3;

private void button1_Click(object sender, EventArgs e)
{
fr2 = new Form2();
fr2.Show();
}

private void button2_Click(object sender, EventArgs e)
{
fr2.Close();
fr3 = new Form3();
fr3.Show();
}