C#新手弱弱的问一个问题:怎么实现子窗体的打开与关闭

来源:百度知道 编辑:UC知道 时间:2024/07/07 14:02:11
刚刚开始学C#,不要笑哈......

主要想实现:在主窗体上放一个按钮,点击第一下,打开子窗体,再点一下关闭.

我用frm.Show();显示出来的子窗体怎么也关闭不了,高手指点下,谢谢啦.
我用了 frm.Close();可是关闭不了

this.close(); 整体程序关掉了

Form2 form2 = new Form2();这句话你是写在那个button1_Click事件里面了吧?这样是不行的,完全控制不了form2,你要把这个生成实例的过程写成全局变量的形式.

错误写法:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
count++;
if (count % 2 != 0)
{
form2.Show();
}
else
{
form2.Close();
}
}

正确的如下:

public partial class Form1 : Form
{
public static int count = 0;

public Form2 form2 = new Form2(); //此处是你错误的重点

public Form1()
{
InitializeComponent();//构造函数

}

private void button1_Click(object sender, EventArgs e)
{
count++;
if (count % 2 != 0)
{
form2.Show();
}
else
{
form2.Close();
}
}
}

新窗体名 实体名 = new 新窗体名();
实体名.Show();//打开新窗体

关闭窗体 总结 this.close();

Close();
方法

需要插件