SystemBrushes
Each property of the SystemBrushes class is a SolidBrush that is the color of a Windows display element.
using System.Runtime.CompilerServices;
namespace System.Drawing
{
[NullableContext(1)]
[Nullable(0)]
public static class SystemBrushes
{
private static readonly object s_systemBrushesKey = new object();
public static Brush ActiveBorder => FromSystemColor(SystemColors.ActiveBorder);
public static Brush ActiveCaption => FromSystemColor(SystemColors.ActiveCaption);
public static Brush ActiveCaptionText => FromSystemColor(SystemColors.ActiveCaptionText);
public static Brush AppWorkspace => FromSystemColor(SystemColors.AppWorkspace);
public static Brush ButtonFace => FromSystemColor(SystemColors.ButtonFace);
public static Brush ButtonHighlight => FromSystemColor(SystemColors.ButtonHighlight);
public static Brush ButtonShadow => FromSystemColor(SystemColors.ButtonShadow);
public static Brush Control => FromSystemColor(SystemColors.Control);
public static Brush ControlLightLight => FromSystemColor(SystemColors.ControlLightLight);
public static Brush ControlLight => FromSystemColor(SystemColors.ControlLight);
public static Brush ControlDark => FromSystemColor(SystemColors.ControlDark);
public static Brush ControlDarkDark => FromSystemColor(SystemColors.ControlDarkDark);
public static Brush ControlText => FromSystemColor(SystemColors.ControlText);
public static Brush Desktop => FromSystemColor(SystemColors.Desktop);
public static Brush GradientActiveCaption => FromSystemColor(SystemColors.GradientActiveCaption);
public static Brush GradientInactiveCaption => FromSystemColor(SystemColors.GradientInactiveCaption);
public static Brush GrayText => FromSystemColor(SystemColors.GrayText);
public static Brush Highlight => FromSystemColor(SystemColors.Highlight);
public static Brush HighlightText => FromSystemColor(SystemColors.HighlightText);
public static Brush HotTrack => FromSystemColor(SystemColors.HotTrack);
public static Brush InactiveCaption => FromSystemColor(SystemColors.InactiveCaption);
public static Brush InactiveBorder => FromSystemColor(SystemColors.InactiveBorder);
public static Brush InactiveCaptionText => FromSystemColor(SystemColors.InactiveCaptionText);
public static Brush Info => FromSystemColor(SystemColors.Info);
public static Brush InfoText => FromSystemColor(SystemColors.InfoText);
public static Brush Menu => FromSystemColor(SystemColors.Menu);
public static Brush MenuBar => FromSystemColor(SystemColors.MenuBar);
public static Brush MenuHighlight => FromSystemColor(SystemColors.MenuHighlight);
public static Brush MenuText => FromSystemColor(SystemColors.MenuText);
public static Brush ScrollBar => FromSystemColor(SystemColors.ScrollBar);
public static Brush Window => FromSystemColor(SystemColors.Window);
public static Brush WindowFrame => FromSystemColor(SystemColors.WindowFrame);
public static Brush WindowText => FromSystemColor(SystemColors.WindowText);
public static Brush FromSystemColor(Color c)
{
if (!c.IsSystemColor)
throw new ArgumentException(System.SR.Format(System.SR.ColorNotSystemColor, c.ToString()));
Brush[] array;
if (Gdip.ThreadData.TryGetValue(s_systemBrushesKey, out object value)) {
array = (value as Brush[]);
if (array != null)
goto IL_005b;
}
array = new Brush[33];
Gdip.ThreadData[s_systemBrushesKey] = array;
goto IL_005b;
IL_005b:
int num = (int)c.ToKnownColor();
if (num > 167)
num -= 141;
num--;
Brush[] array2 = array;
int num2 = num;
return array2[num2] ?? (array2[num2] = new SolidBrush(c, true));
}
}
}