システムカラーを列挙して一覧(リスト)に表示する SystemColorsクラス [C#]

.NET Framework Core SystemColors システムカラー一覧

.NETのSystem.Drawing名前空間にあるSystemColorsクラスに定義されている名前付きの色を列挙して一覧表示するサンプルです。

SystemColorsクラスには、コントロールの背景色や、ウィンドウの前景色などのシステムで使用する33種類のカラーが用意されています。

本記事では、SystemColorsクラスに定義されている色の名前、RGB値、HTMLカラーコードをリスト形式で表示します。

SystemColorsクラスに定義されている色

SystemColorsクラスには以下の33色が、名前付きの色として定義されています。

サンプルコード

WindowsフォームアプリケーションのフォームにDataGridViewコントロールを配置して、システムカラーの一覧を取得してリストに表示します。
作成するWindowsフォームのプログラムコードは以下のようになります。

TypeクラスのGetPropertiesプロパティをリフレクションで参照し、SystemColorsクラスに定義されているプロパティからColor構造体の一覧を取得します。
取得した一覧をDataGridViewコントロールに表示するデータのコレクションに変換して、DataGridViewクラスのDataSourceプロパティに設定します。

Reflectionを使用してColor構造体の一覧をDataGridViewコントロールに表示する処理の詳細については、以下の記事も参考にしてください。

Color構造体の名前付きの色を列挙して一覧(リスト)に表示する [C#]
.NETのSystem.Drawing名前空間にあるColor構造体に定義されている名前付きの色を列挙して一覧表示するサンプルです。...

プログラムを実行

プログラムを実行します。

システムカラーの一覧をDataGridViewコントロールに表示

システムカラーの一覧がDataGridViewコントロールに表示されます。

今回の記事ではSystemColorsクラスに定義されているシステムカラーの一覧を取得しましたが、.NET Frameworkおよび.NET Coreには、システムカラー以外に、赤(Red)、青(Blue)、緑(Green)などを含む174色を参照するためのオブジェクトも用意されています。

システムカラーを含む名前が定義されているすべての色を取得する方法については、以下の記事にまとめていますので、参考にしてみてください。

.NET Framework, .NET Core に定義されている色(名前付きの色)一覧
.NET Framework、.NET Coreに定義されている色(名前で参照できる色)の一覧を取得する方法を紹介します。 名...