我有一个名为Form1
的C#winform,这个winform有一个列表和一个按钮。
我在按钮中添加了click()
事件,并在列表中添加了doubleclick()
事件。
两个事件都调用相同的方法:(在 form1.designer.cs 中)
this.myList.DoubleClick += new System.EventHandler(this.myMethod);
this.myButton.Click += new System.EventHandler(this.myMethod);
在myMethod
中,我想执行以下操作:
打开一个类型为Form2
的新winform,并使其成为活跃的winform。
关闭来电者winform(种类为Form1
),不再需要此表单。
我是这样做的:(在 form1.cs 中)
private void myMethod(object sender, EventArgs e)
{
Form2 frm = new Form2();
this.dispose();
}
当list {double}单击事件调用myMethod
时,myMethod
结束时,会出现空指针异常。
当它被按钮点击事件调用时,它可以正常工作。
我也试过this.close()
,并且行为相同。
我的问题:
我应该如何正确地编写myMethod
所以它会为按钮点击事件以及列表双击事件进行所需的操作?
按钮和列表有什么区别?为什么它对按钮有效,但崩溃了?
由于
答案 0 :(得分:1)
您可以隐藏Form1
并显示Form2
。这会引发一些问题,例如关闭Form2
不会关闭Form1
。
this.Hide();
var form2 = new Form2();
form2.ShowDialog();