如何在WinForms上下文菜单中更改复选标记或“更多”箭头的颜色?

时间:2011-10-26 19:41:24

标签: c# winforms contextmenu

我有一个需要使用深色背景的上下文菜单。它使用检查边距并有几个子菜单。复选标记和指示子菜单的箭头都是黑色的,因此很难看到。我找不到改变颜色的方法。 (我觉得他们应该使用ForeColor,我们已经为文本设置了白色,但这似乎不会影响复选标记或箭头。)

有办法做到这一点吗?

编辑:我们正在使用图像边距中的图像作为解决方法。但是我们还有其他问题,在尝试解决之前,我想我会尝试更简单地解决基本问题。

1 个答案:

答案 0 :(得分:1)

我在过去的类似案例中所做的是通过切换上下文菜单图像来“模拟”复选框。

即。我记得菜单项是否被选中/取消选中(即作为菜单项Tag内的布尔值),然后根据菜单项的状态将图片适当地更改为检查图像或无图像。 / p>

您甚至可以从MenuItem派生自己的类,并将其中的检查透明地更改为派生类的用户。

对于右边的箭头,我假设您可以通过在显示快捷方式的区域内用另一种字体(Wingdings,例如?)绘制箭头来模拟它。

或者,作为一种完全不同的方法,请使用the owner draw functionality of the MenuItem