public void ResumeDrawing(RedrawWindowFlags flags) { Interlocked.Decrement(ref suspendCounter); if (suspendCounter == 0) { Action resume = new Action(() => { NativeMethods.SendMessage(owner.Handle, WM_SETREDRAW, new IntPtr(1), IntPtr.Zero); NativeMethods.RedrawWindow(owner.Handle, IntPtr.Zero, IntPtr.Zero, flags); }); try { resume(); } catch (InvalidOperationException) { synchronizationContext.Post(s => ((Action)s)(), resume); } } }
public static extern bool RedrawWindow(IntPtr hWnd, IntPtr lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
internal static extern int RedrawWindow(IntPtr hWnd, IntPtr lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
public static extern bool RedrawWindow(IntPtr hWnd, [In] ref Rectangle lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
public static extern bool RedrawWindow(IntPtr hwnd, [In] ref RECT rcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
internal static extern bool RedrawWindow(IntPtr hWnd, [In] ref RECT lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
static extern bool RedrawWindow(IntPtr hWnd, IntPtr lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
public static void RedrawWindow(IntPtr hwnd, RedrawWindowFlags flags) { Api_User32.RedrawWindow(hwnd, IntPtr.Zero, IntPtr.Zero, (uint)flags); }
public static extern bool RedrawWindow(IntPtr hWnd, [In] ref RECT lprcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
public static extern bool RedrawWindow(IntPtr hwnd, [In] ref Rectangle rcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);
internal static extern bool RedrawWindow(IntPtr hwnd, [In] ref RECT rcUpdate, IntPtr hrgnUpdate, RedrawWindowFlags flags);