重新着色 MenuStrip
Recoloring MenuStrip
我有一个 MenuStrip,我想改变它的颜色。到目前为止,我有这个代码:
public class TestColorTable : ProfessionalColorTable
{
public override Color MenuItemSelected
{
get{ return Color.LightGray; } // Don't mind the colors...
}
public override Color MenuItemBorder
{
get { return Color.LightGray; }
}
public override Color MenuItemSelectedGradientBegin
{
get { return Color.LightGray; }
}
public override Color MenuItemSelectedGradientEnd
{
get { return Color.LightGray; }
}
public override Color MenuItemPressedGradientBegin
{
get { return Color.DimGray; }
}
public override Color MenuItemPressedGradientEnd
{
get { return Color.DimGray; }
}
public override Color MenuBorder
{
get { return Color.LightGray; }
}
}
使用此代码以及设计器,我设法更改了 MenuStrip 中几乎每个元素的颜色。差不多。
结果如下:
如您所见,有两个问题:1) 两个分隔符和 2) 子菜单周围的白色细边框。
关于如何更改 MenuStrip 的那两个部分的颜色有什么想法吗?
对于分隔符颜色尝试覆盖 SeparatorDark
and or SeparatorLight
property of the ProfessionalColorTable
class.
至于子菜单周围的白色细边框...,嗯,它实际上不是边框。 ToolStripDropDown
(the submenu) background itself. Try overriding the ToolStripDropDownBackground
property of the ProfessionalColorTable
class改变颜色
示例:
public class TestColorTable : ProfessionalColorTable
{
...
public override Color SeparatorDark
{
get { return Color.DimGray; }
}
public override Color ToolStripDropDownBackground
{
get { return Color.DimGray; }
}
...
}
我有一个 MenuStrip,我想改变它的颜色。到目前为止,我有这个代码:
public class TestColorTable : ProfessionalColorTable
{
public override Color MenuItemSelected
{
get{ return Color.LightGray; } // Don't mind the colors...
}
public override Color MenuItemBorder
{
get { return Color.LightGray; }
}
public override Color MenuItemSelectedGradientBegin
{
get { return Color.LightGray; }
}
public override Color MenuItemSelectedGradientEnd
{
get { return Color.LightGray; }
}
public override Color MenuItemPressedGradientBegin
{
get { return Color.DimGray; }
}
public override Color MenuItemPressedGradientEnd
{
get { return Color.DimGray; }
}
public override Color MenuBorder
{
get { return Color.LightGray; }
}
}
使用此代码以及设计器,我设法更改了 MenuStrip 中几乎每个元素的颜色。差不多。
结果如下:
如您所见,有两个问题:1) 两个分隔符和 2) 子菜单周围的白色细边框。
关于如何更改 MenuStrip 的那两个部分的颜色有什么想法吗?
对于分隔符颜色尝试覆盖
SeparatorDark
and orSeparatorLight
property of theProfessionalColorTable
class.至于子菜单周围的白色细边框...,嗯,它实际上不是边框。
ToolStripDropDown
(the submenu) background itself. Try overriding theToolStripDropDownBackground
property of theProfessionalColorTable
class改变颜色
示例:
public class TestColorTable : ProfessionalColorTable
{
...
public override Color SeparatorDark
{
get { return Color.DimGray; }
}
public override Color ToolStripDropDownBackground
{
get { return Color.DimGray; }
}
...
}