1

我有一个名为 的 C# winform Form1,这个 winform 有一个列表和一个按钮。我向click()按钮添加了一个doubleclick()事件,向列表添加了一个事件。两个事件都调用相同的方法:(在form1.designer.cs中)

this.myList.DoubleClick += new System.EventHandler(this.myMethod);
this.myButton.Click += new System.EventHandler(this.myMethod);

myMethod中,我想做以下操作:

  1. 打开一个新的 winform Form2,并使其成为活动的 winform。

  2. 关闭调用方 winform(种类Form1),不再需要此表单。

我是这样做的:(在form1.cs中)

private void myMethod(object sender, EventArgs e)
{
     Form2 frm = new Form2();                 
     this.dispose();
}

myMethod被列表双击事件调用时,myMethod结束时出现空指针异常。当它被按钮单击事件调用时,它可以正常工作。

我也试过this.close()了,得到了同样的行为。

我的问题:

  1. 我应该如何myMethod正确编写,以便对按钮单击事件和列表双击事件进行所需的操作?

  2. 按钮和列表有什么区别?为什么按钮可以正常工作,但列表会崩溃?

谢谢

4

1 回答 1

1

您可以隐藏Form1和显示Form2。这会引发一些问题,例如关闭Form2 不会关闭Form1

this.Hide();
var form2 = new Form2();
form2.ShowDialog();
于 2013-10-01T12:56:41.910 回答