Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices
Module ControlExtensionMethods
Const WM_SETREDRAW As Integer = &HB
<Extension()>
Public Sub SuspendDrawing(this As Control)
SendMessage(this.Handle, WM_SETREDRAW, 0, 0)
End Sub
<Extension()>
Public Sub ResumeDrawing(this As Control)
ResumeDrawing(this, True)
End Sub
<Extension()>
Public Sub ResumeDrawing(this As Control, refresh As Boolean)
SendMessage(this.Handle, WM_SETREDRAW, 1, 0)
If (refresh) Then this.Refresh()
End Sub
<DllImport("user32.dll", SetLastError:=True)> _
Private Function SendMessage(hwnd As IntPtr, wMsg As Integer, wParam As Integer, lParam As Integer) As Integer
End Function
End Module