我正在尝试使用关闭(交叉)按钮作为最小化按钮。这与我们在Skype中看到的完全一样。
我知道我们可以通过将ControlBox属性设置为false来禁用“关闭”按钮,或者我们可以通过创建params来禁用。但是我希望关闭按钮应该是可见的,启用的和工作的,只需要最小化工作!
请帮忙!
提前致谢!
答案 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