C# ToolStripComboBoxItem箭头未绘制所需颜色(VS.Net 2010,WinForms)

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

我正在使用从ToolStripProfessionalRenderer继承的CustomRenderer渲染toolstrip。其概念是,我希望toolstrip项的箭头颜色在除选择之外的所有情况下都为白色。选择后,颜色应为黑色。在我下面的代码中,除了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
要使用相关类呈现toolstrip,请执行以下操作:

MyToolStrip.Renderer = New CustomRenderer

ToolStripComboBox是托管在ToolStripControlHost中的常规组合框。ToolStripItem箭头如菜单子项指示器所述,与此无关。您可以在此处使用“代码自定义绘制”组合框: