C# ToolStripComboBoxItem箭头未绘制所需颜色(VS.Net 2010,WinForms)
我正在使用从ToolStripProfessionalRenderer继承的CustomRenderer渲染toolstrip。其概念是,我希望toolstrip项的箭头颜色在除选择之外的所有情况下都为白色。选择后,颜色应为黑色。在我下面的代码中,除了ToolStripComboBox之外,所有箭头都相应地绘制,其中箭头的颜色始终保持不变;默认值。怎么分类呢 希望我不需要编写整个类,只需要编写相关的片段。所以我只上传了OnRenderArrow方法C# ToolStripComboBoxItem箭头未绘制所需颜色(VS.Net 2010,WinForms),c#,.net,vb.net,visual-studio-2010,C#,.net,Vb.net,Visual Studio 2010,我正在使用从ToolStripProfessionalRenderer继承的CustomRenderer渲染toolstrip。其概念是,我希望toolstrip项的箭头颜色在除选择之外的所有情况下都为白色。选择后,颜色应为黑色。在我下面的代码中,除了ToolStripComboBox之外,所有箭头都相应地绘制,其中箭头的颜色始终保持不变;默认值。怎么分类呢 希望我不需要编写整个类,只需要编写相关的片段。所以我只上传了OnRenderArrow方法 Friend Class CustomRend
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
要使用相关类呈现toolstrip,请执行以下操作:
MyToolStrip.Renderer = New CustomRenderer
ToolStripComboBox是托管在ToolStripControlHost中的常规组合框。ToolStripItem箭头如菜单子项指示器所述,与此无关。您可以在此处使用“代码自定义绘制”组合框: