C# 双击打开一个新的winform并关闭调用者窗口
我有一个叫做C# 双击打开一个新的winform并关闭调用者窗口,c#,winforms,C#,Winforms,我有一个叫做Form1的C#winform,这个winform有一个列表和一个按钮。 我在按钮中添加了一个click()事件,在列表中添加了一个doubleclick()事件。 两个事件都调用相同的方法:(在form1.designer.cs中) 在myMethod中,我要执行以下操作: 打开类型为Form2的新winform,并使其成为活动winform 关闭调用方winform(类似于Form1),不再需要此表单 我是这样做的:(在form1.cs中) 当列表双击事件调用myMethod时,
Form1
的C#winform,这个winform有一个列表和一个按钮。
我在按钮中添加了一个click()
事件,在列表中添加了一个doubleclick()
事件。
两个事件都调用相同的方法:(在form1.designer.cs中)
在myMethod
中,我要执行以下操作:
Form2
的新winform,并使其成为活动winformForm1
),不再需要此表单myMethod
时,当myMethod
结束时,存在空指针异常。
当按钮单击事件调用它时,它工作正常
我也尝试了this.close()
,得到了相同的行为
我的问题是:
myMethod
,以便它对按钮单击事件和列表双击事件执行所需的操作谢谢您可以隐藏
表单1
并显示表单2
。这将引发一些问题,如关闭Form2
不会关闭表单1
this.Hide();
var form2 = new Form2();
form2.ShowDialog();
您可以隐藏
Form1
并显示Form2
。这将引发一些问题,如关闭Form2
不会关闭表单1
this.Hide();
var form2 = new Form2();
form2.ShowDialog();
调用窗体是否实际关闭?应该调用form.Close方法,而不是Dispose。我试过了。也很接近,同样的问题。neoistheone,form1实际上已经接近了。在我看来,这可能就是例外的原因。但是我不明白点击按钮是如何工作的。这是真正的代码吗?是否在其他地方引用了Form1的实例?调用窗体是否实际关闭?您应该调用form.Close方法,而不是Dispose方法。我试过了。也很接近,同样的问题。neoistheone,form1实际上已经接近了。在我看来,这可能就是例外的原因。但是我不明白点击按钮是如何工作的。这是真正的代码吗?是否在其他地方引用了Form1的实例?
this.Hide();
var form2 = new Form2();
form2.ShowDialog();