我正在使用vb.net 2013,我已将关机模式配置为“当最后一个表单关闭时”。
在我的主表单上,我有一个菜单项,其中包含此代码以关闭应用程序:
Application.Exit
一切正常,除了一个案例:
当我打开特定表单时,在运行时创建Combobox
并且我使用Addhandler
订阅了多个事件。
按下按钮时会创建combobox
。
当我打开此表单并且我没有创建combobox
时,一切正常。如果创建了combobox
,当我关闭此表单并尝试使用菜单项关闭应用程序时,没有任何反应。应用程序未关闭,并且不显示任何错误消息。 (当我尝试用“x”按钮关闭主窗体时会出现同样的情况)
在表单(我有combobox
)关闭事件的地方,我试图输入一行代码:
MyCombobox.dispose()
但情况是一样的。
我该怎么办?谢谢!
答案 0 :(得分:0)
我从小经验中所做的是
1。)从其父控件中删除MyCombobox(我认为这是在你的组合框关闭事件中)。 2.)将MyCombobox设置为Nothing 3.)Dispose()它。
MyCombobox = Nothing
MyCombobox.Dispose()
查看close事件代码的某些部分会很有用,这样我们就可以帮助您检查。给你更大的力量!
根据OP的评论进行更新: 我从MSDN上阅读了以下内容:https://msdn.microsoft.com/en-us/library/system.windows.forms.form.closing(v=vs.110).aspx
由此,重要的是要注意:
调用Application.Exit方法退出应用程序时,不会引发Form.Closed和Form.Closing事件。如果在必须执行的这些事件中都有验证代码,则应在调用Exit方法之前单独为每个打开的表单调用Form.Close方法。