private void CloseTheme() { // Must close down theme handle if (IsControlThemed) { // Close down the Win32 handle Uxtheme.CloseThemeData(_hTheme); // No longer have a valid theme handle _hTheme = IntPtr.Zero; // Raises event OnThemeClosed(); } }
/// <summary> /// /// </summary> /// <returns></returns> public static Color GetThemeBorderColor(Color substituteColor) { Int32 color = 0; // UxTheme is only supported on Windows XP and Later if (Environment.OSVersion.Version.Major >= 5 && Environment.OSVersion.Version.Minor >= 1) { IntPtr hTheme = Uxtheme.OpenThemeData(IntPtr.Zero, "Edit"); if (hTheme != IntPtr.Zero) { Uxtheme.GetThemeColor(hTheme, Uxtheme.EP.EDITTEXT, Uxtheme.ETS.NORMAL, Uxtheme.TMT.BORDERCOLOR, out color); Uxtheme.CloseThemeData(hTheme); } } return(color == 0 ? substituteColor : ColorTranslator.FromWin32(color)); }