首页 > 解决方案 > 更改 MenuStrip 复选框的颜色?

问题描述

我创建了一个自定义渲染器来更改 MenuStrip 的样式,使用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

但是好像没有办法改变前景色?(勾号的颜色)

我可以创建一个自定义 CheckBox 控件,继承默认 CheckBox,我可以通过覆盖该OnPaint方法来更改背景色/前景色。

但我不知道是否有办法让 MenuStrip 使用我的自定义复选框?如果我制作自定义 MenuStrip 控件,是否有可能?

标签: c#winformscontrols

解决方案


推荐阅读