如何更改的MenuStrip外观 [英] How to change the appearance of a MenuStrip

查看:1082
本文介绍了如何更改的MenuStrip外观的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序添加一个的MenuStrip ,并在加上 ManagerRenderMode 渲染模式。问题是与外观,看起来内脏。看看那些两张照片,我想改变在透明的子菜单中的白边,那蓝rectangule看起来内脏灰色的菜单和深灰色的子菜单(他的境界那是一个深蓝色)和边框白色菜单当选择。我怎样才能做到这一点?

背景色是: 36; 36; 36 前景色浅灰色

我设法改变蓝色矩形,当选项被选中,在蓝色矩形当我选择子菜单的一个选项白色矩形,但我不知道如何修改白色边框,请帮助..

下面是code到目前为止...

 颜色culoare = Color.FromArgb(20,20,20);
        颜色culoare1 = Color.FromArgb(36,36,36);        公众覆盖颜色MenuItemSelected
        {
            {返回culoare; }
        }        公众覆盖颜色MenuItemBorder
        {
            {返回culoare; }
        }        公众覆盖颜色MenuItemSelectedGradientBegin
        {
            {返回culoare; }
        }        公众覆盖颜色MenuItemSelectedGradientEnd
        {
            {返回culoare; }
        }        公众覆盖颜色菜单项pressedGradientBegin
        {
            {返回culoare; }
        }        公众覆盖颜色菜单项pressedGradientEnd
        {
            {返回culoare; }
        }        公众覆盖颜色MenuBorder
        {
            {返回culoare; }
        }


解决方案

您可以通过创建自己的ColorTable,并重写属性,你想改变颜色做到这一点:

 公共类TestColorTable:ProfessionalColorTable
{
    公众覆盖颜色MenuItemSelected
    {
        {返回Color.Red; }
    }    公众覆盖颜色MenuBorder //添加可将菜单边界
    {
        {返回Color.Green; }
    }}

您会使用这样的:

 私人无效Form1_Load的(对象发件人,EventArgs的发送)
{
    menuStrip1.Renderer =新ToolStripProfessionalRenderer(新TestColorTable());
}

I add a MenuStrip in my app and is add on ManagerRenderMode at Render Mode. The problem is with the appearance, look offal. Look at those two photos, I want to change that white border of submenus in transparent, that blue rectangule that look offal on gray for the menu and for the submenu in dark gray (and his border that is a dark blue) and the border white of menu when is selected. How I can do this ?

BackColor is: 36; 36; 36 and ForeColor is LightGray.

I managed to change the blue rectangle, the white rectangle when the option is selected, the blue rectangle when I select an option of submenus, but I don't know how to change the white border, please help..

Here is the code so far...

        Color culoare = Color.FromArgb(20, 20, 20);
        Color culoare1 = Color.FromArgb(36, 36, 36);

        public override Color MenuItemSelected
        {
            get { return culoare; }
        }

        public override Color MenuItemBorder
        {
            get { return culoare; }
        }

        public override Color MenuItemSelectedGradientBegin
        { 
            get { return culoare; } 
        }

        public override Color MenuItemSelectedGradientEnd
        { 
            get { return culoare; } 
        }

        public override Color MenuItemPressedGradientBegin
        { 
            get { return culoare; }
        }

        public override Color MenuItemPressedGradientEnd
        {
            get { return culoare; }
        }

        public override Color MenuBorder
        {
            get { return culoare; }
        }

解决方案

You can do this by creating your own ColorTable, and overriding the properties you wish to change the colour of:

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; }
    }

}

You would use it like this:

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

这篇关于如何更改的MenuStrip外观的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆