2012-08-04 65 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 

回答