Dim NodeStringFormat As StringFormat = New StringFormat
Private Sub TreeView1_DrawNode(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawTreeNodeEventArgs) Handles TreeView1.DrawNode
Dim NodeDisplayText As String = e.Node.Text + "(" + e.Node.Nodes.Count.ToString + ")"
Dim r As Rectangle = New Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width + 2, e.Bounds.Height)
If (e.State And TreeNodeStates.Selected) <> 0 Then
e.Graphics.FillRectangle(Brushes.Green, r)
e.Graphics.DrawString(NodeDisplayText, Me.Font, Brushes.White, r, NodeStringFormat)
Else
e.Graphics.DrawString(NodeDisplayText, Me.Font, Brushes.Black, r, NodeStringFormat)
End If
End Sub
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
NodeStringFormat.LineAlignment = StringAlignment.Center : NodeStringFormat.Alignment = StringAlignment.Center
TreeView1.DrawMode = TreeViewDrawMode.OwnerDrawText
End Sub
End Class