public static void SafeDeleteObject(ref IntPtr gdiObject)
        {
            IntPtr p = gdiObject;

            gdiObject = IntPtr.Zero;
            if (IntPtr.Zero != p)
            {
                NativeMethodsShell.DeleteObject(p);
            }
        }