gpt4 book ai didi

vb.net - 在 FormClosing 事件被覆盖以隐藏而不是关闭之后杀死表单的更好方法?

转载 作者:行者123 更新时间:2023-12-04 06:55:20 25 4
gpt4 key购买 nike

我有一个简单的 Windows 窗体,它在运行时托管属性控件。当用户单击关闭 [X] 时,我希望保持窗口及其内容处于事件状态,而不是通过处理 FormClosing 事件、取消事件并简单地隐藏表单来杀死它。

这很好,但在应用程序关闭时,我需要实际关闭窗口。我实现了以下,但感觉很笨拙。有没有更简单、更聪明的方法来处理这种情况? (表单的 Controller 在收到来自主窗口的关闭事件后显式调用 KillForm。)

Friend Class HostForm
Private _hideInsteadOfClosing As Boolean = True

Private Sub HostForm_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) _
Handles Me.FormClosing
If _hideInsteadOfClosing Then
Me.Hide()
e.Cancel = True
End If
End Sub

Public Sub KillForm()
_hideInsteadOfClosing = False
Me.Close()
End Sub
End Class

最佳答案

您可以检查 CloseReason 的值事件 args 对象的属性。如果是UserClosing , 隐藏表单,否则关闭它。对于此属性的所有可能值,请检查 CloseReason enumeration documentation .

关于vb.net - 在 FormClosing 事件被覆盖以隐藏而不是关闭之后杀死表单的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2622387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com