vb.net – 在哪里可以控制winform右上角的“X”关闭按钮的行为?

前端之家收集整理的这篇文章主要介绍了vb.net – 在哪里可以控制winform右上角的“X”关闭按钮的行为?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在冒险使我的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.

使用Me.Close()隐藏窗体.要打开它,请使用以下代码段:
If theModelessDialog.IsDisposed Then
    theModelessDialog = New dlgModeless
End If
dlgModeless.Show()

如果这是保存数据,那么您需要确定一些存储方式(可能是以静态变量/形式).这是做你想要实现的正确方法.

如果我的VB已经关闭了,那么你也必须原谅我,已经有一段时间了.

猜你在找的VB相关文章