在最小化的MenuStrip中更改背景颜色

时间:2017-11-14 16:29:33

标签: c# winforms

我有一个带有MenuStrip的Windows窗体应用程序。 BackColor是蓝色的,但是当调整窗口大小时(在图像中只显示菜单的左下角)并且我想显示其他隐藏的项目,背景不是蓝色。

如何更改背景颜色?

enter image description here

1 个答案:

答案 0 :(得分:1)

看看这个:ToolStripProfessionalRenderer

public class MyToolStripRenderer : ToolStripProfessionalRenderer
{
    /* override styling/drawing here */
}

MenuStrip strip = new MenuStrip();

strip.Renderer = new MyToolStripRenderer();

//this will set RenderMode to "Custom"

Exemple

public  class TestColorTable : ProfessionalColorTable
{
    public override Color MenuItemSelected
    {
        get { return Color.Red; }
    }

    public override Color MenuBorder  //added for changing the menu border
    {
        get { return Color.Green; }
    }

您可以这样使用它:

private void Form1_Load(object sender, EventArgs e)
{
    menuStrip1.Renderer = new ToolStripProfessionalRenderer(new TestColorTable());
}