Autor Beitrag
frenchcancan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Do 17.03.11 11:37 
Hallo!
ich habe ein Treeview mit 3 Ebenen.
Die 4 obersten sind z. B. Node1,Node2,Node3,Node4
Dann möchte ich in einem bestimmten Node suche, ob ein childnode schon vorhanden ist.
Das Problem ist nur, dass die childnodes in allen Nodes gleich aufgebaut sind, also die gleichen Namen haben
Z. B. Node1 enthält childnode "service","operator" und "factory"
Node2 ebenso.
Wie kann ich die suche mit den Methoden Containskey oder Find nur auf Node1 begrenzen? ohne den gesamten Baum zu durchsuchen?

Danke für Eure Hilfe
frenchcancan
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 17.03.11 11:49 
Find und ContainsKey sind ja keine Methoden von TreeView, sondern von TreeNodeCollection. Und diese Klasse taucht nicht nur als Wurzel auf, denk noch einmal drüber nach ;) .

_________________
>λ=
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 17.03.11 12:03 
Hi,

du rufst einfach explizit für den Node1 die ContainsKey()-Methode auf (diese ist ja in der TreeNodeCollection-Klasse definiert und nicht generell in der TreeView-Klasse), d.h.
ausblenden C#-Quelltext
1:
bool contains = node1.Nodes.ContainsKey("service");