Diese Funktion sucht nur den ersten Knoten in der Baumansicht, der Suchtext enthält.
%Vor%Wie sollte ich es ändern, so dass die Funktion nicht nur den ersten Knoten finden kann, sondern alle, jedes Mal, wenn ich auf Knopf1 klicke, findet sie den nächsten Knoten bis zum Ende und dann beginnt sie mit dem Anfang. Also sollte ich nicht von TreeView1.Nodes [0], sondern von TreeView1.SelectedNode ...
suchenEtwas wie das Folgende sollte in Ordnung sein, um es dem Code Ihres Formulars hinzuzufügen.
%Vor%Es gibt zwei Teile davon;
Sammeln Sie alle Knoten in einem List<TreeNode>
Blättern Sie durch List<TreeNode>
, wenn sich die Suche nicht geändert hat. Wenn sich die Suche geändert hat, löschen Sie die Liste und setzen Sie die Indexierung zurück.
Ich habe dies mit Windows Forms getestet, die unter .Net 4 laufen - es durchsucht jeden Knoten in einem TreeView, der den Suchtext enthält, 1 zu 1, bis er den letzten Knoten erreicht.
Sie müssen eine Sammlung von Knoten (wie List) erstellen und jeden gefundenen Knoten zu dieser Liste hinzufügen und diesen anstelle eines einzelnen Knotens zurückgeben. Außerdem müssen Sie alle break-Anweisungen entfernen