在最小化的MenuStrip中更改背景颜色(Change of the background color in minimized MenuStrip)
我有一个带有MenuStrip的Windows窗体应用程序。 BackColor是蓝色的,但是当窗口调整大小时(在图像中只能看到菜单的左上角),并且我想显示其他隐藏项目,但背景不是蓝色。
我怎样才能改变背景颜色?
I have a Windows Forms application with a MenuStrip. BackColor is blue, but when the window is resized (in the image you see only left corner of the menu) and I want to display other hidden items, the background is not blue.
How can I change the background color?
最满意答案
看看这个: ToolStripProfessionalRenderer
public class MyToolStripRenderer : ToolStripProfessionalRenderer { /* override styling/drawing here */ } MenuStrip strip = new MenuStrip(); strip.Renderer = new MyToolStripRenderer(); //this will set RenderMode to "Custom"例如 :
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()); }Check out this : 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; } }You would use it like this:
private void Form1_Load(object sender, EventArgs e) { menuStrip1.Renderer = new ToolStripProfessionalRenderer(new TestColorTable()); }更多推荐
发布评论