Entwickler-Ecke

WinForms - Einen TreeNode in TreeView programmatisch selektieren


Stane - Sa 02.08.08 17:00
Titel: Einen TreeNode in TreeView programmatisch selektieren
Hallo,
seit Stunden suche ich eine Antwort auf die scheinbar einfache Frage: wie selektiere ich einen Knoten in einem TreeView programmatisch? Die vielen Ratschläge aus dem Internet machen den schlauen Vorschlag von der Art:


C#-Quelltext
1:
    MyTree.SelectedNode = MyTree.Nodes[0]; // usw.                    


Wenn der Baum flach ist, so gibt es kein Problem, was mache ich aber wenn der zu selektierende Knoten irgendwo in der Tiefe steckt?

Denn einem TreeNode kann ich

C#-Quelltext
1:
    MyNode.SelectedNode = NodeToSelect;                    

nicht sagen: die Property SelectedNode existiert für Knoten nicht, nur für den Baum selbst.

Und die Kollektion Nodes des Baumes besteht nur aus dessen äußeren Knoten.

Bin für jeden Tipp dankbar,

Stane :D

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Sa 02.08.08 17:23

Hallo und :welcome:!

Mir ist das Problem nicht ganz klar. Wenn Du den Knoten kennst, kannst Du auch einen "Unter"knoten der SelectedNode-Eigenschaft zuweisen. Ist das Problem also eher, den Knoten zu finden oder ist es wirklich, ihn zu selektieren?

Grüße
Christian


Stane - Sa 02.08.08 22:33
Titel: Das Problem ist, den Knoten zu Selektieren, nicht zu finden
Hi again,
eben kann ich die Instanz der Klasse TreeNode, die ich gefunden habe und kenne, nicht selektieren. Du sagst, ich kann auch einem Unterknoten die Eigenschaft "Selected" zuweisen. Wie? TreeNode hat die Property SelectedNode nicht, und IsSelected ist nur get.
Oder lügt meine MSDN-Klassenbeschreibung?

Stane


Christian S. - Sa 02.08.08 22:43

Du brauchst bei den Nodes keine SelectedNode-Eigenschaft. Es kann pro Treeview immer nur ein Knoten selektiert sein! Und den defininierst Du in der SelectedNode-Eigenschaft des Treeview.


Stane - So 03.08.08 11:01
Titel: In einem Beispiel klapp es
Hallo und danke für Eure Fragen,
die haben mich dazu gebracht, ein kleines Beispiel zu schreiben. Also im Beispiel klapp alles, muss ich gestehen. Was in meinem "großen" Programm anders ist, muss ich selber finden. Allenfalls danke, ich markiere jetzt den Topic als geschlossen.

Stane.


SSC streezer - Mi 06.08.08 09:28

poste bitte dein beispiel - habe das selbe problem...

habs mit einer rekursion versucht... klappt aber bis jetzt nicht


Stane - Mi 06.08.08 09:48
Titel: Beispiel mit Selektion eines Knoten im TreeView
Hi Mike,
Das Beispiel sende ich dir sofort privat. Ist möglicherweise für .Net 3.5 konfiguriert, spielt aber keine Rolle, ist bei 2.0 das Gleiche.

Inzwische weiss ich welchen Gedankenfehler ich beging: die Property SelectedNode funktioniert nämlich ganz richtig für jeden Knoten des Baumes.

Wenn es nötig wird, kann ich es dann auch erzählen.

Ciao,
Stane


Christian S. - Mi 06.08.08 10:23
Titel: Re: Beispiel mit Selektion eines Knoten im TreeView
user profile iconStane hat folgendes geschrieben:
Das Beispiel sende ich dir sofort privat.

Wenn Du dieses öffentliche Forum nutzt, um Antworten zu erhalten, so gebe bitte Deine Antworten auch öffentlich. Davon lebt dieses Forum und davon hast Du auch profitiert.


SSC streezer - Mi 06.08.08 11:36

xD hab das jetzt einfach mal so frech angehängt - hoffe es ist i.O.

gruss,
streezer