winforms 如何在C#中更改菜单条所有部分的颜色

6ioyuze2  于 2023-06-24  发布在  C#
关注(0)|答案(1)|浏览(130)

请仔细看图片
如何更改下图中白色部分的颜色?

我使用了:

ToolStripManager -专业色彩表- ToolStripProfessionalRenderer

但它们没用
我希望我的菜单看起来像下面的图片。没有白色部分

我用了下面的方法来解决这个问题,但是没有用。
首先创建了**“MyProfessionalColors”类,并继承了“ProfessionalColorTable”**。
然后覆盖所有与MenuStrip相关的属性。

class MyProfessionalColors : ProfessionalColorTable
{
    public override Color MenuStripGradientBegin
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
    public override Color MenuStripGradientEnd
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
    public override Color MenuItemPressedGradientBegin
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemPressedGradientMiddle
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemPressedGradientEnd
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuBorder
    {
        get
        {
            return Color.FromArgb(20, 20, 20);
        }
    }
    public override Color MenuItemSelected
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemSelectedGradientBegin
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemSelectedGradientEnd
    {
        get
        {
            return Color.FromArgb(50, 50, 50);
        }
    }
    public override Color MenuItemBorder
    {
        get
        {
            return Color.FromArgb(35, 35, 35);
        }
    }
}

然后我就用了

ToolStripManager.Renderer = new ToolStripProfessionalRenderer
                        (new MyProfessionalColors());

但控制的一部分没有改变颜色。
我怎么能改变这一部分?
我需要创建一个自定义控件并使用它吗?

相关问题