【问题标题】:Change of the background color in minimized MenuStrip更改最小化 MenuStrip 中的背景颜色
【发布时间】:2017-11-14 16:29:32
【问题描述】:

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

如何更改背景颜色?

【问题讨论】:

    标签: c# winforms


    【解决方案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());
    }
    

    【讨论】:

    • 谢谢,你在 WinForms 地狱之前救了我。
    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    相关资源
    最近更新 更多