RedrawWindow (user32)
Last changed: jnm2-74.212.46.188

.
Summary

C# Signature:

[DllImport("user32.dll")]
static extern bool RedrawWindow(IntPtr hWnd, [In] ref RECT lprcUpdate, IntPtr hrgnUpdate, uint flags);

[DllImport("user32.dll")]
static extern bool RedrawWindow(IntPtr hWnd, IntPtr lprcUpdate, IntPtr hrgnUpdate, uint flags);

VB.NET Signature:

<DllImport("user32.dll")> _
Private Shared Function RedrawWindow(hWnd As IntPtr, <[In]> ByRef lprcUpdate As RECT, hrgnUpdate As IntPtr, flags As UInteger) As Boolean
End Function

<DllImport("user32.dll")> _
Private Shared Function RedrawWindow(hWnd As IntPtr, lprcUpdate As IntPtr, hrgnUpdate As IntPtr, flags As UInteger) As Boolean
End Function

User-Defined Types:

None.

Notes:

RedrawWindow() flags:

const int RDW_INVALIDATE      =0x0001;
const int RDW_INTERNALPAINT   =0x0002;
const int RDW_ERASE       =0x0004;

const int RDW_VALIDATE    =0x0008;
const int RDW_NOINTERNALPAINT =0x0010;
const int RDW_NOERASE     =0x0020;

const int RDW_NOCHILDREN      =0x0040;
const int RDW_ALLCHILDREN     =0x0080;

const int RDW_UPDATENOW       =0x0100;
const int RDW_ERASENOW    =0x0200;

const int RDW_FRAME       =0x0400;
const int RDW_NOFRAME     =0x0800;

[StructLayout(LayoutKind.Sequential)]
public struct RECT {
     public int Left;
     public int Top;
     public int Right;
     public int Bottom;
}

Tips & Tricks:

Please add some!

Sample Code:

    private void InvalidateWindow()
    {
        WinAPI.RedrawWindow(this.Handle, IntPtr.Zero, IntPtr.Zero,
         0x0400/*RDW_FRAME*/ | 0x0100/*RDW_UPDATENOW*/
         | 0x0001/*RDW_INVALIDATE*/);
    }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation