双击打开新的通知并关闭呼叫者窗口

本文关键字:呼叫者 窗口 通知 双击 | 更新日期: 2023-09-27 18:33:25

我有一个名为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中,我想做以下操作:

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

  2. 关闭呼叫者wform(类型Form1(,不再需要此表单。

我是这样做的:(表格1.cs(

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

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

我也尝试了this.close(),并得到了相同的行为。

我的问题:

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

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

谢谢

双击打开新的通知并关闭呼叫者窗口

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

this.Hide();
var form2 = new Form2();
form2.ShowDialog();