Treeview Knoten durchlaufen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von vierkant.

    Treeview Knoten durchlaufen

    Hallo!

    Ich habe auf meiner form ein Treeview, einen Button und eine Textbox

    mit dem klick auf dem Button soll überprüft werden ob sich der Knotenname der in der Textbox steht schon als Knoten in der Treeview befindet!

    Jemand einen Plan wie dat geht?
    Das musst du wissen.

    Du hast noch nicht gesagt was dann passieren soll
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    @vierkant

    Mach es mit dieser Funktion:

    VB.NET-Quellcode

    1. Private Function FindNode(ByVal Text As String, ByVal Nodes As TreeNodeCollection) As Boolean
    2. For Each lNode As TreeNode In Nodes
    3. If lNode.Text = Text Then
    4. Return True
    5. Else
    6. If FindNode(Text, lNode.Nodes) Then
    7. Return True
    8. End If
    9. End If
    10. Next
    11. Return False
    12. End Function

    Aufrufen tust du das dann so:

    VB.NET-Quellcode

    1. MessageBox.Show(FindNode("Knoten0", TreeView1.Nodes).ToString)

    Die Funktion gibt True zurück wenn ein Knoten mit dem Text Knoten0 im TreeView existiert. Einfacher würde es gehen wenn du den TreeView nach Namen durchsuchen würdest. Dann kannst du nähmlich direkt mit TreeView.Nodes.Find arbeiten.

    Gruß
    Switcherlapp97
    RubiksCubeSolver


    Jetzt im Showroom

    affrop schrieb:

    mit der find gehts kürzer ungefähr so:

    VB.NET-Quellcode

    1. If Me.TreeView1.Nodes.Find(TextBox1.Text, True).ToString =TextBox1.Text Then
    2. Else
    3. End If



    Sodala! erst mal danke an alle! Hab mal folgendes versucht:

    VB.NET-Quellcode

    1. If Explorer1.TreeView.Nodes.Find(TextBox1.Text, True).ToString = TextBox1.Text Then
    2. MsgBox("Knoten vorhanden")
    3. else
    4. MsgBox("Knoten nicht vorhanden")
    5. end if


    Egal ob der Knoten vorhanden ist oder nicht es wird immer die gleiche Meldung ausgespuckt:

    Knoten vorhanden


    lg Jürgen
    @affrop

    Switcherlapp97 schrieb:

    nach Namen durchsuchen würdest. Dann kannst du nähmlich direkt mit TreeView.Nodes.Find arbeiten.

    Nach dem NAMEN. Dem TE geht es aber glaube ich um den Text des Knotens.

    Wenn du doch den Namen suchst mach es bitte so:

    VB.NET-Quellcode

    1. Dim tns As TreeNode() = TreeView1.Nodes.Find("Knoten0", True)
    2. If tns.Length = 0 Then
    3. MessageBox.Show("Der Knoten existiert noch nicht")
    4. End If

    ACHTUNG TreeNode.Name muss NICHT gleich dem TreeNode.Text sein!

    Ich denke du suchst nach einem Text in deinem TreeView. Dafür solltest du meine Variante verwenden, die ich oben schon gepostet habe

    Gruß
    Switcherlapp97
    RubiksCubeSolver


    Jetzt im Showroom