Make all the controls inside a Groupbox unusable, without disabling them
-
Hello ! When a condition is true I want to make all the controls inside a groupbox not usable by users but without disabling them. This is the code I use :
Class NW
Inherits NativeWindow
Public Sub New(hwnd As IntPtr)
AssignHandle(hwnd)
End Sub
Const WM_NCHITTEST As Integer = &H84
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_NCHITTEST Then
Return
End If
MyBase.WndProc(m)
End Sub
End ClassDim nwss As List(Of NW) = Nothing
Public Sub block_area(flag As Boolean)
If flag = True AndAlso IsNothing(nwss) Then
nwss = New List(Of NW)()
For Each c As Control In GroupBox1.Controls
nwss.Add(New NW(c.Handle))
Next
Else
If flag = False And (Not IsNothing(nwss)) Then
For Each nw As Object In nwss
nw.ReleaseHandle()
Next
nwss = Nothing
End If
End If
End SubThe problem is that this code works for all controls , except the TextBox and DateTimePicker. These 2 controls remain always clickable and editable. What's wrong ? Thank you !
-
Hello ! When a condition is true I want to make all the controls inside a groupbox not usable by users but without disabling them. This is the code I use :
Class NW
Inherits NativeWindow
Public Sub New(hwnd As IntPtr)
AssignHandle(hwnd)
End Sub
Const WM_NCHITTEST As Integer = &H84
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_NCHITTEST Then
Return
End If
MyBase.WndProc(m)
End Sub
End ClassDim nwss As List(Of NW) = Nothing
Public Sub block_area(flag As Boolean)
If flag = True AndAlso IsNothing(nwss) Then
nwss = New List(Of NW)()
For Each c As Control In GroupBox1.Controls
nwss.Add(New NW(c.Handle))
Next
Else
If flag = False And (Not IsNothing(nwss)) Then
For Each nw As Object In nwss
nw.ReleaseHandle()
Next
nwss = Nothing
End If
End If
End SubThe problem is that this code works for all controls , except the TextBox and DateTimePicker. These 2 controls remain always clickable and editable. What's wrong ? Thank you !