Ich möchte zu einem TreeNode-Objekt erweiterte Informationen verwalten. Mit der Tag-Eigenschaft lassen sich beliebige Informationen im Zeichenkettenformat zuordnen., beispielsweise in der Form:
TreeNode.Tag = "Info1|Info2|…"
Das ist - aufgrund des erforderlichen Split-Vorgangs wenig komfortabel. Gibt es einen besseren oder alternativen Weg?
Als weitere Anregung ein Beispiel. Eine TreeNode mit einer DataRow. Du könntest die eine eigene Ableitung der Klasse machen und was du brauchst mitgeben.
Private Class TreeNodeWithDataRow Inherits TreeNode Private _drow As DataRow Public Sub New(ByVal text As String, ByVal drow As DataRow) MyBase.New(text) _drow = drow End Sub Public ReadOnly Property DataRow() As DataRow Get Return _drow End Get End Property End Class
Dim row as DataRow Dim tnode As New TreeNodeWithDataRow("Text", row) nodes.Add(tnode) ...
Private Sub trv_DoubleClick(sender As System.Object, e As System.EventArgs) Handles trv.DoubleClick Dim rowPr As DataRow rowPr = DirectCast(trv.SelectedNode, TreeNodeWithDataRow).DataRow() End Sub
Wenn du allerdings schon alles hast, wenn du in der Tag Eigenschaft einen String mitgibst den du mit Split auseinandernimmst. Würde ich das auch auf die "schlichte" machen.