c# - 更改 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 控件,是否有可能?
解决方案
推荐阅读
- qt - 通过 Qt::QueuedConnection 连接到单个插槽的单个信号的执行顺序
- macos - SwiftUI DragGesture 与位置和起始位置不一致
- reactjs - next-auth Google 提供商 [next-auth][error][client_fetch_error]
- angular - 使用 Angular 自定义文本字段执行 form.reset() 时出现“RangeError:超出最大调用堆栈大小”
- node.js - 如何在 NodeJS 中使用 proto-loader 加载远程 proto 定义
- notion-api - 是否有条件判断 Notion 应用是否开放?
- scheme - 进行“申请”的替代方法
- asp.net-mvc - 如何正确实现记住我的功能?ASP.NET 核心
- azure - Azure Synapse 的版本控制
- html - 如何在一行中对齐徽标和菜单项?