我正在使用继承自ToolStripProfessionalRenderer的CustomRenderer渲染工具条。这个概念是我希望工具条项目的箭头颜色在除选择之外的所有情况下都是白色的。选择时,颜色应为黑色。在下面的代码中,除了ToolStripComboBox之外,所有箭头都被相应地绘制,其中箭头的颜色始终保持不变;默认的。如何解决?
希望我不需要编写整个类,只需编写相关的片段。所以我只上传了OnRenderArrow方法。
Friend Class CustomRenderer
Inherits ToolStripProfessionalRenderer
Sub New()
End Sub
Protected Overrides Sub OnRenderArrow(ByVal e As System.Windows.Forms.ToolStripArrowRenderEventArgs)
If e.Item.Pressed Then
e.ArrowColor = Color.White
ElseIf e.Item.Selected Then
e.ArrowColor = SystemColors.ControlText
Else
e.ArrowColor = Color.White
End If
MyBase.OnRenderArrow(e)
End Sub
End Class
使用相关类呈现工具条:
MyToolStrip.Renderer = New CustomRenderer
答案 0 :(得分:0)
ToolStripComboBox是一个常规的组合框,托管在ToolStripControlHost中。 ToolStripItem箭头与菜单子指示符一样,与之无关。您可以在此处使用代码自定义绘制ComboBox:Painting right arrow in ToolStripComboBox