ToolStripComboBoxItem 箭头不绘制所需的颜色 (VS.Net 2010,WinForms)
本文关键字:Net VS 2010 WinForms 颜色 绘制 ToolStripComboBoxItem | 更新日期: 2024-10-25 06:43:59
我正在使用从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
ToolStripComboBox 是一个托管在 ToolStripControlHost 中的常规组合框。ToolStripItem 箭头如前所述是菜单子指示器,与此无关。您可以在此处利用代码自定义绘制组合框:在 ToolStripComboBox 中绘制向右箭头