Ehu*_*and 3 c# backcolor winforms toolstripmenu
好的,有人请告诉我为什么这不起作用。
我在 winforms 应用程序(c#)中有一个简单的 MenuStrip。它有 ToolStripMenuItems。
在设计器的属性窗口中,我选择 BackColor = White。在 Desginer.cs 文件中我可以看到它。
运行应用,背景色为Control(灰色)。
怎么回事?为什么背景色不是白色?
谢谢
编辑
这是来自 Designer.cs 的代码:
this.menuRefresh.BackColor = System.Drawing.Color.White;
Run Code Online (Sandbox Code Playgroud)

编辑2:
在代码中,加载表单后(在构造函数和 Form_Load 事件中,我放置了这个:
menuRefresh.BackColor = Color.White;
Run Code Online (Sandbox Code Playgroud)
也帮不上忙。
您需要实现一个简单的渲染器类来实现这一点。下面是一个例子:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
menuStrip1.Renderer = new MyRenderer();
}
private class MyRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
{
Rectangle rc = new Rectangle(Point.Empty, e.Item.Size);
Color c = e.Item.Selected ? Color.Azure : Color.Beige;
using (SolidBrush brush = new SolidBrush(c))
e.Graphics.FillRectangle(brush, rc);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7101 次 |
| 最近记录: |