一般这是为了避免出现多个窗体实例:一般我们不把窗体关闭,只把窗体隐藏
(1、)在主窗体类中,声明一个本类级别的变量用来记录窗体实例
(2、) 在加载子窗体事件中,判断是否有窗体实例
public class from1:System.Windows.Forms.Form
{
private from2 frm2; //本类级别的变量用来记录窗体实例
private void button_Click(object sender, System.EventArgs e)
{
if(frm2==null) //没有实例
{
frm2=new from2(); //创建一个
frm2.MdiParent=this; //设置from1父窗体
frm2.Show(); //显示出来
}
else
{
frmes.Visible=true; //显示属性设为真
}
}
}
(3、)在卸载子窗体事件中,写代码,使窗体不卸载,而是隐藏
private void from1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true; //取消关闭本窗体
this.Hide(); //隐藏本窗体
}