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
的方法。例如,谢谢,这正是我所需要的。上下文菜单中文本框和下拉框的样式是否有类似的覆盖?