在Visual Studio 2010中操作菜单条字体颜色

时间:2013-10-07 14:27:19

标签: visual-studio-2010 colors windows-forms-designer menustrip

我正在制作一个我希望有黑色背景和白色文字的程序。


我尝试将背景颜色设置为黑色,将前景颜色/字体颜色设置为白色,但在突出显示期间,我想要两种不同颜色,另外两种颜色在点击期间。我找不到操纵属性的正确方法。还有其他人试过吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我已经弄清楚如何使用此附件顶部附带的链接来完成此操作。然而,我不得不挖掘出来的资源让我相信这应该成为它自己的问题。

我做了什么

我转到我的MainForm并插入以下代码(根据建议的解决方案):

public MainForm()
    {
        InitializeComponent();
        menuStripMain.Renderer = new MyRenderer();
    }

    private class MyRenderer : ToolStripProfessionalRenderer
    {
        public MyRenderer() : base(new MyColors()) { }
    }

    private class MyColors : ProfessionalColorTable
    {
        public override Color MenuItemSelected
        {
            get { return Color.White; }
        }
        public override Color MenuItemSelectedGradientBegin
        {
            get { return Color.Black; }
        }
        public override Color MenuItemSelectedGradientEnd
        {
            get { return Color.SlateGray; }
        }
        public override Color MenuItemBorder
        {
            get { return Color.Yellow; }
        }
    }

但是,正如您所看到的,解决方案中不包含某些属性。您要在此处操作的部分可以用于表单上的任何对象,而不仅仅是菜单条,您可以访问here的引用名称。此外,还有大量颜色,可以寻址奇数名称,其列表正确here。我认为你不能使用十六进制颜色代码。

这样您就可以完全自定义表单中任何对象的颜色!