是否有办法将自定义控件添加到StatusStrip
控件?
说,我需要一个多列的组合框在状态栏…
正如谦虚的Hans Passant所提到的,解决方案是使用ToolStripControlHost
和ToolStripDesignerAvailability
属性。
更多细节可点击此处查看
最简单的方法是使用ToolStripComboBox自己绘制,然后将该控件放置在StatusStrip中。ToolStripComboBox与普通的ComboBox不同,因为它派生自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)
然后使用drawwitem事件:
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
看到组合框。绘制细节的事件