VB.NET禁用/隐藏x按钮但不完全禁用关闭

时间:2015-12-11 17:26:17

标签: vb.net

我想从我的表单中删除/禁用/隐藏x按钮但不完全禁用关闭。所以我想要它所以程序不能通过使用x按钮关闭,而只能通过某个键命令(通过菜单项或类似)关闭。我知道的唯一方法是完全禁用关闭,这意味着x按钮不起作用但我无法使用key命令关闭它。

是否有任何方法可以禁用x按钮?

感谢。

1 个答案:

答案 0 :(得分:1)

在表单的属性中,将ControlBox属性设置为False。然后,在代码中,当您要关闭表单时,只需调用表单的Close方法。

但是,这样做不会阻止用户通过标准OS方法关闭窗口(例如,通过任务栏上的按钮,通过 ALT + F4 )。为了阻止它,您需要取消在FormClosing事件中关闭表单。例如:

Public Class Form1
    Private _closeAllowed As Boolean = False

    Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
        _closeAllowed = True
        Close()
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        If Not _closeAllowed Then
            e.Cancel = True
        End If
    End Sub
End Class

然而,即使这样也不会阻止申请被终止。有关更全面的解决方案,您可能希望对开发适用于Windows的自助服务终端应用程序的最佳实践进行一些搜索。