0

我正在使用继承自 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
4

1 回答 1

0

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

于 2012-08-25T16:24:25.877 回答