C# winform ,主窗体调用子窗体

问题1,第二次调用子窗体时存在出现无法访问已释放对象的异常,

原因,子窗体并没有关闭,而是隐藏挂起了,在窗体closing事件(不是closed)中添加

private void Registry_FormClosing(object sender, FormClosingEventArgs e)
{
this.Visible = false;
e.Cancel = true;

}

问题2,第二次或多次打开子窗体时出现子窗体中的控件不能使用

原因:因为子窗体没有初始化,原来我是在主窗体中直接使用

子窗体.ShowDialog();

这条指令没有清空原来的数据,

改用

registry f2 = new registry();
f2.ShowDialog();

后问题解决

猜你喜欢

转载自www.cnblogs.com/runningsoybean/p/11714233.html