private void ExcludeRegion()
        {
            if (!ShouldExlcudeRegion)
            {
                return;
            }
            IntPtr hRegion = IntPtr.Zero;

            try
            {
                hRegion = GetRegion();
                if (hRegion != IntPtr.Zero)
                {
                    Gdi32.SetWindowRgn(Handle, hRegion, false);
                }
                if (Region != IntPtr.Zero)
                {
                    Gdi32.DeleteObject(Region);
                }
                Region = hRegion;
            }
            finally
            {
                if (hRegion != IntPtr.Zero)
                {
                    Gdi32.DeleteObject(hRegion);
                }
            }
        }
 internal void Close()
 {
     if (Region != IntPtr.Zero)
     {
         Gdi32.SetWindowRgn(Handle, IntPtr.Zero, false);
         Gdi32.DeleteObject(Region);
     }
     User32.CloseWindow(_handle);
     User32.SetParent((int)_handle, 0);
     User32.DestroyWindow(_handle);
 }