我正在冒险使我的VB.NET应用程序更好地使用,通过制作一些形式无模式.
我想我已经弄清楚如何使用dlg.Show()和dlg.Hide()而不是调用dlg.ShowDialog().我的主要应用程序窗体中有一个我的无模式对话框的实例:
Public theModelessDialog As New dlgModeless
要启动我调用的无模式对话框
theModelessDialog.Show()
并且在我的dlgModeless中的确定和取消按钮处理程序
Private Sub OK_Button_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles OK_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.OK Me.Hide() End Sub Private Sub Cancel_Button_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Hide() End Sub
这似乎工作正常.
右上方的“X”按钮正在让我得到.当我用这个按钮关闭表单,然后尝试重新打开窗体,我得到
ObjectDisposedException was unhandled. Cannot access a disposed object.
我觉得我最喜欢的方式,但我不知道如何做以下任一:
>隐藏“X”按钮
抓住事件,所以我不处理对象(只是对待它,就像我点击取消)
有任何想法吗?
此对话框的类是System.Windows.Forms.Form.