How to disable the close button in VB.net Windows form

  • Thread starter Thread starter Karthick_PTPL
  • Start date Start date
K

Karthick_PTPL

Guest
HI experts,

I am facing one issue in my VB.net application. In my application I want to disable the close button in all my windows. I am doing this by following code. But the real issue is while I am minimized and maximized the window the close button is getting enabled to the end user. How to permanently disable the Close window.

Public Class CloseButton
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Integer, ByVal revert As Integer) As Integer
Private Declare Function EnableMenuItem Lib "user32" (ByVal menu As Integer, ByVal ideEnableItem As Integer, ByVal enable As Integer) As Integer
Private Const SC_CLOSE As Integer = &HF060
Private Const MF_BYCOMMAND As Integer = &H0
Private Const MF_GRAYED As Integer = &H1
Private Const MF_ENABLED As Integer = &H0
Private Sub New()
End Sub

Public Shared Sub Disable(ByVal form As System.Windows.Forms.Form)

' The return value specifies the previous state of the menu item (it is either
' MF_ENABLED or MF_GRAYED). 0xFFFFFFFF indicates that the menu item does not exist.
Select Case EnableMenuItem(GetSystemMenu(form.Handle.ToInt32, 0), SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED)
Case MF_ENABLED
Case MF_GRAYED
Case &HFFFFFFFF
Throw New Exception("The Close menu item does not exist.")
Case Else
End Select
End Sub
End Class


Private Sub TestForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CloseButton.Disable(Me)
End Sub




Thanks in advance

Karthick

Continue reading...
 
Back
Top