我声明了一个全局FORM并new,使用ShowDialog打开进行相关操作,之后按ok或者cancel按钮返回;
后来我直接使用ShowDialog再次打开该对话框,对其内控件进行相关操作,会随机出现“未将对象引用到其实例”的错误。
请问这是不是因为前面按了ok或者cancel按钮之后必须重新new这个对话框,即使该对话框变量是全局变量也不行?
补充一下:
我在对话框中放了一个ListVIEW并在该控件中加入了几个ListViewItem,并在对话框的Load函数中重新加载了几个ListViewItem,然后我只要重新ShowDialog几次,就会出现上述未将引用到实例的问题
是的 FORM 被关闭了,再次使用就需要重新new
窗体本身就需要 Show的 ShowDialog 只是指定不同的工作方式,预先实例化毫无必要,反而干扰了思路
var f1 = new Form();
f1.Show();
和
new Form().ShowDialog();
能有什么区别?
不要close(),close()后释放FORM对象实例