这个杀手不太冷,模式窗体中的杀手。

一般我们用show来显示非模态窗体 。

用showdialog来显示模态窗体。



对于模式窗体来说,如果对其  me.dialogresult 赋值后就会发现,这个模式窗体自动就“消失了”。。

然而对于me.dialogresult这个杀手来说,并没有“杀死”这个模式窗体,这个窗体它只是“隐藏”。


如何进行检测:检测 my.forms.form2 是否nothing,就可发现这个模式窗体仍然存在,它只是隐藏了。




叹,这个杀手不太冷,杀也杀不死,还留半条命,慎用啊。


查询杀手榜MSDN原来鉴定如下:

当窗体显示为模式对话框时,单击“关闭”按钮(窗体右上角带 X 的按钮)会隐藏窗体并将 DialogResult 属性设置为 DialogResult.Cancel 当用户单击对话框的“关闭”按钮或设置DialogResult 属性的值时,不会自动调用 Close 方法。 窗体只是处于隐藏状态,因而可重新显示,而不必创建对话框的新实例。 由于存在此行为,因此当应用程序不再需要该窗体时,必须调用该窗体的 Dispose 方法。

你可能感兴趣的:(这个杀手不太冷,模式窗体中的杀手。)