Доступность крестика (закрытие формы) - Visual Basic .NET
Формулировка задачи:
Всем доброго времени суток.
Есть код, который скрывает крестик (закрытие формы)
как сделать что бы при нажатии на кнопку крестик был доступен, при нажатии на другую кнопку, не доступен?
Решение задачи: «Доступность крестика (закрытие формы)»
textual
Листинг программы
Public Class Form1 Public Property CloseEnabled() As Boolean Get Return mCloseEnabled End Get Set(ByVal value As Boolean) If value <> mCloseEnabled Then mCloseEnabled = value setSystemMenu() End If End Set End Property Private mCloseEnabled As Boolean = True Protected Overrides Sub OnHandleCreated(ByVal e As System.EventArgs) MyBase.OnHandleCreated(e) setSystemMenu() End Sub Private Sub setSystemMenu() Dim menu As IntPtr = GetSystemMenu(Me.Handle, False) Dim enable As Integer If Not mCloseEnabled Then enable = 1 EnableMenuItem(menu, SC_CLOSE, enable) End Sub '' P/Invoke Private Const SC_CLOSE As Integer = &HF060 Private Declare Function GetSystemMenu Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal revert As Boolean) As IntPtr Private Declare Function EnableMenuItem Lib "user32.dll" (ByVal hMenu As IntPtr, ByVal IDEnableItem As Integer, ByVal wEnable As Integer) As Integer Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click mCloseEnabled = False setSystemMenu() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click mCloseEnabled = True setSystemMenu() End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д