如何在vb.net中使用关闭按钮最小化?

时间:2014-01-28 13:56:50

标签: vb.net

我正在尝试使用关闭(交叉)按钮作为最小化按钮。这与我们在Skype中看到的完全一样。

enter image description here

我知道我们可以通过将ControlBox属性设置为false来禁用“关闭”按钮,或者我们可以通过创建params来禁用。但是我希望关闭按钮应该是可见的,启用的和工作的,只需要最小化工作!

请帮忙!

提前致谢!

2 个答案:

答案 0 :(得分:6)

FormClosing事件可以帮助您做什么。您负责任地使用它并且不会阻止用户关闭他的机器,这非常非常重要。或者唠叨你的节目没有播放,这些天更典型的结果。你必须注意窗户关闭的原因。因此:

Protected Overrides Sub OnFormClosing(e As FormClosingEventArgs)
    If e.CloseReason = CloseReason.UserClosing Then
        Me.WindowState = FormWindowState.Minimized
        e.Cancel = True
    End If
    MyBase.OnFormClosing(e)
End Sub

答案 1 :(得分:3)

如果这是WinForms,您可以处理FormClosing事件来完成此操作并将e.Cancel设置为true,以便在您最小化表单后实际上不会关闭该表单:

Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    Me.WindowState = FormWindowState.Minimized
    e.Cancel = True
End Sub

与使用Closing事件的WPF类似:

Private Sub Window_Closing(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    Me.WindowState = Windows.WindowState.Minimized
    e.Cancel = True
End Sub