2012-08-04 37 views
0

我正在使用从ToolStripProfessionalRenderer继承的CustomRenderer呈现工具条。这个概念是,除了选择之外,我希望工具条项目箭头的颜色在所有情况下均为白色。当它被选择时,颜色应该是黑色的。在我的代码下面,所有的箭头都被相应地绘制,除了ToolStripComboBox,其中箭头的颜色始终保持不变;默认的一个。如何整理出来?ToolStripComboBoxItem箭头没有绘制所需的颜色(VS.Net 2010,WinForms)

希望我不需要写全班,但只写相关片段。所以我只上传了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 

回答