Public Class Class1
Inherits ComboBox
Private Const WM_LBUTTONDOWN As Integer = &H201
Private Const WM_LBUTTONDBLCLK As Integer = &H203
Dim TD As ToolStripDropDown
WithEvents T As TreeView
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_LBUTTONDBLCLK OrElse m.Msg = WM_LBUTTONDOWN Then
T.Size = New Size(Me.Width, 120)
ShowTool()
Return
End If
MyBase.WndProc(m)
End Sub
Public Sub New()
Init()
End Sub
Public Sub Init()
T = New TreeView
T.Nodes.AddRange(New TreeNode() {New TreeNode("1"), New TreeNode("2")})
T.Nodes(0).Nodes.Add("3")
T.Nodes(0).Nodes.Add("4")
T.Nodes(0).Nodes.Add("5")
T.BorderStyle = BorderStyle.None
Dim TH As New ToolStripControlHost(T)
TD = New ToolStripDropDown
TD.Items.Add(TH)
End Sub
Private Sub ShowTool()
TD.Show(Me, 0, Me.Height)
End Sub
Private Sub T_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles T.AfterSelect
Me.Text = e.Node.Text
End Sub
Private Sub T_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles T.Click
'TD.Hide()
End Sub
End Class
在combobox下拉列表中显示Treeview(转自csdn)
最新推荐文章于 2021-09-07 23:24:31 发布