2011-09-26 120 views
1

有沒有辦法將自定義控件添加到StatusStrip控件?StatusStip控件中的自定義控件

說,我需要一個多組合框在狀態欄...

+1

使用ToolStripControlHost和[ToolStripDesignerAvailability]屬性。 –

回答

2

由於提到的溫和Hans Passant,解決方案使用ToolStripControlHostToolStripDesignerAvailability屬性。

更多細節可諮詢here

1

最簡單的方法是做使​​用ToolStripComboBox控件繪製自己,然後發生在你StatusStrip控件。 ToolStripComboBox與普通的ComboBox不同,因爲它的derives from the ToolStripControlHost

Dim comboStatus As New ToolStripComboBox 
With DirectCast(comboStatus.Control, ComboBox) 
    .DrawMode = DrawMode.OwnerDrawFixed 
    AddHandler .DrawItem, AddressOf comboStatus_DrawItem 
End With 
StatusStrip1.Items.Add(comboStatus) 

然後使用DrawItem事件:

Private Sub comboStatus_DrawItem(ByVal sender As Object, ByVal e As DrawItemEventArgs) 
    Dim comboStatus As ComboBox = sender 
    e.DrawBackground() 

    If e.Index > -1 Then 
    //Do you drawing. 
    End If 
End Sub 

ComboBox.DrawItem Event爲繪圖的細節。

+0

我們使用Infragistics UltraCombo敵人2欄組合框......所以問題只是將UltraCombo集成到StatusStrip中...... – serhio