C# 更改菜单的颜色复选框勾选?
我创建了一个自定义渲染器,使用C# 更改菜单的颜色复选框勾选?,c#,winforms,controls,C#,Winforms,Controls,我创建了一个自定义渲染器,使用ToolStripProfessionalRenderer和ProfessionalColorTable更改菜单条的样式,其中颜色定义如下: public override Color MenuBorder => Color.FromArgb(50, 50, 50);; 复选框背景和边框颜色有覆盖: public override Color CheckBackground => //Checkbox Checked BG public overrid
ToolStripProfessionalRenderer
和ProfessionalColorTable
更改菜单条的样式,其中颜色定义如下:
public override Color MenuBorder => Color.FromArgb(50, 50, 50);;
复选框背景和边框颜色有覆盖:
public override Color CheckBackground => //Checkbox Checked BG
public override Color ButtonSelectedBorder => //Checkbox Checked Border
public override Color CheckSelectedBackground => //Highlighted Checkbox Checked BG
public override Color CheckPressedBackground => //Pressed Checkbox Checked BG
但似乎没有办法改变前景色?(勾号的颜色)
我可以创建一个自定义复选框控件,继承默认复选框,通过覆盖OnPaint
方法,我可以在其中更改back/forecolor
但我不知道是否有办法让MenuStrip使用我的自定义复选框?是否可以创建自定义MenuStrip控件?您可以覆盖
ToolStripProfessionalRenderer
的方法。例如,谢谢,这正是我所需要的。上下文菜单中文本框和下拉框的样式是否有类似的覆盖?