【C#/WinForms】.NET 10 のライト・ダークモードのカラーテーブルを変更する方法

C#
この記事は約38分で読めます。

ようやく .NET 10 から WinForms が正式にダークモードに対応しました。しかし、Windows 標準の色とは異なる箇所もあるため、実際のカラーテーブルを取得して変更してみます。

ライトモードのカラーテーブル

アプリをライトモード(Application.SetColorMode(SystemColorMode.Classic);)で実行して取得した結果です。

using System.Windows.Forms;
using System.Drawing;

namespace ColorTables {
    public class SampleColorTable : ProfessionalColorTable {

        public SampleColorTable() {
            this.UseSystemColors = false;
        }

        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientBegin => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientEnd => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientMiddle => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonCheckedHighlight => Color.FromArgb(255, 181, 215, 243);
        /// <summary>
        /// ButtonCheckedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonCheckedHighlightBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// ButtonPressedGradientBegin、 ButtonPressedGradientMiddle、および ButtonPressedGradientEnd の各色で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonPressedBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientBegin => Color.FromArgb(255, 128, 188, 235);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientEnd => Color.FromArgb(255, 128, 188, 235);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientMiddle => Color.FromArgb(255, 128, 188, 235);
        /// <summary>
        /// ボタンが押されている場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonPressedHighlight => Color.FromArgb(255, 126, 186, 234);
        /// <summary>
        /// ButtonPressedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonPressedHighlightBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// ButtonSelectedGradientBegin、 ButtonSelectedGradientMiddle、および ButtonSelectedGradientEnd の各色で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonSelectedBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientBegin => Color.FromArgb(255, 179, 215, 243);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientEnd => Color.FromArgb(255, 179, 215, 243);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientMiddle => Color.FromArgb(255, 179, 215, 243);
        /// <summary>
        /// ボタンがオンの場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonSelectedHighlight => Color.FromArgb(255, 181, 215, 243);
        /// <summary>
        /// ButtonSelectedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonSelectedHighlightBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用される場合に使用する純色を取得します。
        /// <summary>
        public override Color CheckBackground => Color.FromArgb(255, 181, 215, 243);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用されるときに使用する純色を取得します。
        /// <summary>
        public override Color CheckPressedBackground => Color.FromArgb(255, 128, 188, 235);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用される場合に使用する純色を取得します。
        /// <summary>
        public override Color CheckSelectedBackground => Color.FromArgb(255, 128, 188, 235);
        /// <summary>
        /// グリップ (移動ハンドル) のシャドウ効果に使用する色を取得します。
        /// <summary>
        public override Color GripDark => Color.FromArgb(255, 184, 184, 184);
        /// <summary>
        /// グリップ (移動ハンドル) の強調表示効果に使用する色を取得します。
        /// <summary>
        public override Color GripLight => Color.FromArgb(255, 255, 255, 255);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ImageMarginGradientBegin => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ImageMarginGradientEnd => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ImageMarginGradientMiddle => Color.FromArgb(255, 248, 248, 248);
        /// <summary>
        /// ToolStripDropDownMenu に項目が表示される場合にイメージのマージンで使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientBegin => Color.FromArgb(255, 249, 249, 249);
        /// <summary>
        /// ToolStripDropDownMenu に項目が表示される場合にイメージのマージンで使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientEnd => Color.FromArgb(255, 242, 242, 242);
        /// <summary>
        /// ToolStripDropDownMenu で項目が表示される場合にイメージのマージンで使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientMiddle => Color.FromArgb(255, 245, 245, 245);
        /// <summary>
        /// MenuStrip の境界線の色を取得します。
        /// <summary>
        public override Color MenuBorder => Color.FromArgb(255, 128, 128, 128);
        /// <summary>
        /// ToolStripMenuItem で使用する境界線の色を取得します。
        /// <summary>
        public override Color MenuItemBorder => Color.FromArgb(255, 0, 120, 215);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientBegin => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientEnd => Color.FromArgb(255, 248, 248, 248);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientMiddle => Color.FromArgb(255, 245, 245, 245);
        /// <summary>
        /// 最上位の ToolStripMenuItem 以外の ToolStripMenuItem が選択され場合に使用する純色を取得します。
        /// <summary>
        public override Color MenuItemSelected => Color.FromArgb(255, 181, 215, 243);
        /// <summary>
        /// ToolStripMenuItem が選択された場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuItemSelectedGradientBegin => Color.FromArgb(255, 179, 215, 243);
        /// <summary>
        /// ToolStripMenuItem が選択された場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuItemSelectedGradientEnd => Color.FromArgb(255, 179, 215, 243);
        /// <summary>
        /// MenuStrip で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuStripGradientBegin => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// MenuStrip で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuStripGradientEnd => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientBegin => Color.FromArgb(255, 245, 245, 245);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientEnd => Color.FromArgb(255, 160, 160, 160);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientMiddle => Color.FromArgb(255, 242, 242, 242);
        /// <summary>
        /// ToolStripContainer で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color RaftingContainerGradientBegin => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// ToolStripContainer で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color RaftingContainerGradientEnd => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// ToolStripSeparator のシャドウ効果に使用する色を取得します。
        /// <summary>
        public override Color SeparatorDark => Color.FromArgb(255, 189, 189, 189);
        /// <summary>
        /// ToolStripSeparator の強調表示効果に使用する色を取得します。
        /// <summary>
        public override Color SeparatorLight => Color.FromArgb(255, 255, 255, 255);
        /// <summary>
        /// StatusStrip の上端に使用する境界線の色を取得します。
        /// <summary>
        public override Color StatusStripBorder => Color.FromArgb(255, 255, 255, 255);
        /// <summary>
        /// StatusStrip で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color StatusStripGradientBegin => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// StatusStrip で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color StatusStripGradientEnd => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// <summary>
        /// ToolStrip の下端に使用する境界線の色を取得します。
        /// <summary>
        public override Color ToolStripBorder => Color.FromArgb(255, 242, 242, 242);
        /// <summary>
        /// ToolStripContentPanel で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripContentPanelGradientBegin => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// ToolStripContentPanel で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripContentPanelGradientEnd => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// ToolStripDropDown の純色の背景色を取得します。
        /// <summary>
        public override Color ToolStripDropDownBackground => Color.FromArgb(255, 253, 253, 253);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripGradientBegin => Color.FromArgb(255, 252, 252, 252);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripGradientEnd => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ToolStripGradientMiddle => Color.FromArgb(255, 248, 248, 248);
        /// <summary>
        /// ToolStripPanel で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripPanelGradientBegin => Color.FromArgb(255, 240, 240, 240);
        /// <summary>
        /// ToolStripPanel で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripPanelGradientEnd => Color.FromArgb(255, 252, 252, 252);
    }
}

ダークモードのカラーテーブル

アプリをダークモード(Application.SetColorMode(SystemColorMode.Dark);)で実行して取得した結果です。

using System.Windows.Forms;
using System.Drawing;

namespace ColorTables {
    public class SampleColorTable : ProfessionalColorTable {

        public SampleColorTable() {
            this.UseSystemColors = false;
        }

        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientBegin => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientEnd => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonCheckedGradientMiddle => Color.FromArgb(255, 0, 0, 0);
        /// <summary>
        /// ボタンがオンの場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonCheckedHighlight => Color.FromArgb(255, 46, 63, 86);
        /// <summary>
        /// ButtonCheckedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonCheckedHighlightBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// ButtonPressedGradientBegin、 ButtonPressedGradientMiddle、および ButtonPressedGradientEnd の各色で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonPressedBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientBegin => Color.FromArgb(255, 45, 75, 115);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientEnd => Color.FromArgb(255, 45, 75, 115);
        /// <summary>
        /// ボタンが押されている場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonPressedGradientMiddle => Color.FromArgb(255, 45, 75, 115);
        /// <summary>
        /// ボタンが押されている場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonPressedHighlight => Color.FromArgb(255, 44, 74, 115);
        /// <summary>
        /// ButtonPressedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonPressedHighlightBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// ButtonSelectedGradientBegin、 ButtonSelectedGradientMiddle、および ButtonSelectedGradientEnd の各色で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonSelectedBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientBegin => Color.FromArgb(255, 47, 65, 89);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientEnd => Color.FromArgb(255, 47, 65, 89);
        /// <summary>
        /// ボタンがオンの場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ButtonSelectedGradientMiddle => Color.FromArgb(255, 47, 65, 89);
        /// <summary>
        /// ボタンがオンの場合に使用する純色を取得します。
        /// <summary>
        public override Color ButtonSelectedHighlight => Color.FromArgb(255, 46, 63, 86);
        /// <summary>
        /// ButtonSelectedHighlight で使用する境界線の色を取得します。
        /// <summary>
        public override Color ButtonSelectedHighlightBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用される場合に使用する純色を取得します。
        /// <summary>
        public override Color CheckBackground => Color.FromArgb(255, 46, 63, 86);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用されるときに使用する純色を取得します。
        /// <summary>
        public override Color CheckPressedBackground => Color.FromArgb(255, 45, 75, 115);
        /// <summary>
        /// チェック ボタンがオンで、グラデーションが使用される場合に使用する純色を取得します。
        /// <summary>
        public override Color CheckSelectedBackground => Color.FromArgb(255, 45, 75, 115);
        /// <summary>
        /// グリップ (移動ハンドル) のシャドウ効果に使用する色を取得します。
        /// <summary>
        public override Color GripDark => Color.FromArgb(255, 65, 65, 65);
        /// <summary>
        /// グリップ (移動ハンドル) の強調表示効果に使用する色を取得します。
        /// <summary>
        public override Color GripLight => Color.FromArgb(255, 50, 50, 50);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ImageMarginGradientBegin => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ImageMarginGradientEnd => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// ToolStripDropDownMenu のイメージのマージンで使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ImageMarginGradientMiddle => Color.FromArgb(255, 41, 41, 41);
        /// <summary>
        /// ToolStripDropDownMenu に項目が表示される場合にイメージのマージンで使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientBegin => Color.FromArgb(255, 43, 43, 43);
        /// <summary>
        /// ToolStripDropDownMenu に項目が表示される場合にイメージのマージンで使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientEnd => Color.FromArgb(255, 34, 34, 34);
        /// <summary>
        /// ToolStripDropDownMenu で項目が表示される場合にイメージのマージンで使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ImageMarginRevealedGradientMiddle => Color.FromArgb(255, 37, 37, 37);
        /// <summary>
        /// MenuStrip の境界線の色を取得します。
        /// <summary>
        public override Color MenuBorder => Color.FromArgb(255, 107, 107, 107);
        /// <summary>
        /// ToolStripMenuItem で使用する境界線の色を取得します。
        /// <summary>
        public override Color MenuItemBorder => Color.FromArgb(255, 40, 100, 180);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientBegin => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientEnd => Color.FromArgb(255, 41, 41, 41);
        /// <summary>
        /// 最上位の ToolStripMenuItem が押されている場合に使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color MenuItemPressedGradientMiddle => Color.FromArgb(255, 37, 37, 37);
        /// <summary>
        /// 最上位の ToolStripMenuItem 以外の ToolStripMenuItem が選択され場合に使用する純色を取得します。
        /// <summary>
        public override Color MenuItemSelected => Color.FromArgb(255, 46, 63, 86);
        /// <summary>
        /// ToolStripMenuItem が選択された場合に使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuItemSelectedGradientBegin => Color.FromArgb(255, 47, 65, 89);
        /// <summary>
        /// ToolStripMenuItem が選択された場合に使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuItemSelectedGradientEnd => Color.FromArgb(255, 47, 65, 89);
        /// <summary>
        /// MenuStrip で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color MenuStripGradientBegin => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// MenuStrip で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color MenuStripGradientEnd => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientBegin => Color.FromArgb(255, 37, 37, 37);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientEnd => Color.FromArgb(255, 70, 70, 70);
        /// <summary>
        /// ToolStripOverflowButton で使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color OverflowButtonGradientMiddle => Color.FromArgb(255, 34, 34, 34);
        /// <summary>
        /// ToolStripContainer で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color RaftingContainerGradientBegin => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// ToolStripContainer で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color RaftingContainerGradientEnd => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// ToolStripSeparator のシャドウ効果に使用する色を取得します。
        /// <summary>
        public override Color SeparatorDark => Color.FromArgb(255, 64, 64, 64);
        /// <summary>
        /// ToolStripSeparator の強調表示効果に使用する色を取得します。
        /// <summary>
        public override Color SeparatorLight => Color.FromArgb(255, 16, 16, 16);
        /// <summary>
        /// StatusStrip の上端に使用する境界線の色を取得します。
        /// <summary>
        public override Color StatusStripBorder => Color.FromArgb(255, 16, 16, 16);
        /// <summary>
        /// StatusStrip で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color StatusStripGradientBegin => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// StatusStrip で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color StatusStripGradientEnd => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// <summary>
        /// ToolStrip の下端に使用する境界線の色を取得します。
        /// <summary>
        public override Color ToolStripBorder => Color.FromArgb(255, 35, 35, 35);
        /// <summary>
        /// ToolStripContentPanel で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripContentPanelGradientBegin => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// ToolStripContentPanel で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripContentPanelGradientEnd => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// ToolStripDropDown の純色の背景色を取得します。
        /// <summary>
        public override Color ToolStripDropDownBackground => Color.FromArgb(255, 47, 47, 47);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripGradientBegin => Color.FromArgb(255, 46, 46, 46);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripGradientEnd => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// ToolStrip の背景で使用するグラデーションの中間色を取得します。
        /// <summary>
        public override Color ToolStripGradientMiddle => Color.FromArgb(255, 41, 41, 41);
        /// <summary>
        /// ToolStripPanel で使用するグラデーションの開始色を取得します。
        /// <summary>
        public override Color ToolStripPanelGradientBegin => Color.FromArgb(255, 32, 32, 32);
        /// <summary>
        /// ToolStripPanel で使用するグラデーションの終了色を取得します。
        /// <summary>
        public override Color ToolStripPanelGradientEnd => Color.FromArgb(255, 46, 46, 46);
    }
}

変更後の適用方法

取得したカラーテーブルを変更を適用する場合はフォームの Load イベントなどで下記コードを追加します。

private void Form1_Load(object sender, EventArgs e)
{
    ToolStripManager.Renderer = new ToolStripProfessionalRenderer(new ColorTables.SampleColorTable());
}

コメント

タイトルとURLをコピーしました