treeview Single Select?

16/02/2008 - 21:52 von Thomas Hübner | Report spam
Hi NG,

In VB6 gab es den Parameter SingleSelect, der nur _eine_ expandierte
Rootnode erlaubte wenn man mit Doppelklick selektierte. Gibt es bei
vb.Net eine Entsprechung? Ich möchte also immer nur einen Zweig eines
treeviews offen haben.

Gruß,
Thomas
 

Lesen sie die antworten

#1 Peter Fleischer
17/02/2008 - 07:31 | Warnen spam
"Thomas Hübner" schrieb im Newsbeitrag
news:fp7if7$j1b$

In VB6 gab es den Parameter SingleSelect, der nur _eine_ expandierte
Rootnode erlaubte wenn man mit Doppelklick selektierte. Gibt es bei vb.Net
eine Entsprechung? Ich möchte also immer nur einen Zweig eines treeviews
offen haben.



Hi Thomas,
mit einem Doppelklich wird im .NET-TreeView standardmàßig auch nur ein Zweig
geöffnet.

Um Programmmàßig nur einen Pfad zu öffnen, kann folgende demo dienen.

Hi Thomas


Option Infer On
Option Strict On

Imports System.Data.SqlClient

Public Class Form1

Dim l As New List(Of TreeNode)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim tv As New TreeView
Me.Controls.Add(tv)
With tv
.Dock = DockStyle.Fill
tvLoad(.Nodes)
End With

tv.CollapseAll()

tvExpand(l.Item(10))

End Sub

Private Sub tvLoad(ByVal nodes As TreeNodeCollection)
Static i As Integer
Do
i += 1
Dim n = nodes.Add("Knoten " & i.ToString)
l.Add(n)
If Rnd() > 0.5 Then tvLoad(n.Nodes)
Loop While Rnd() > 0.5
End Sub

Private Sub tvExpand(ByVal n As TreeNode)
n.Expand()
If n.Parent IsNot Nothing Then tvExpand(n.Parent)
End Sub

End Class

Viele Gruesse

Peter

Ähnliche fragen