Treeview mit Maus selektieren, dann soll mit Buttons was passieren

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Treeview mit Maus selektieren, dann soll mit Buttons was passieren

    Guten Mittag zusammen

    Ich bastel gerade etwas an der Treeview rum. Wie oben schon beschrieben, möchte Ich wenn ich mit der Maus einen Knoten markieren, soll dann mit dem Button was passieren.
    Nun, gesagt getan. Allerdings geht nur der Hauptknoten 1 bei Hauptknoten 2 passiert das gleiche wie bei ersten. Bei den Unterknoten passiert gar nichts. Was läuft da falsch. Ich möchte, dass bei allen Knoten später was anderes Passiert.

    Mein Code:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. If TreeView1.SelectedNode.Nodes.Count = 1 Then ' Hauptknoten
    3. MsgBox("1")
    4. End If
    5. If TreeView1.SelectedNode.Nodes.Count = 2 Then ' Unterknoten
    6. MsgBox("2")
    7. End If
    8. If TreeView1.SelectedNode.Nodes.Count = 3 Then ' Hauptknoten
    9. MsgBox("3")
    10. End If
    11. If TreeView1.SelectedNode.Nodes.Count = 4 Then ' Unterknoten
    12. MsgBox("4")
    13. End If
    14. End Sub
    @chaotium Soll etwas passieren, wenn Du auf den Button klickst oder wenn Du auf den TreeView klickst?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    chaotium schrieb:

    If TreeView1.SelectedNode.Nodes.Count = 2
    Überleg Dir nochmal, was das Wort Count bedeutet …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Richtig. Mit Deinen Codezeilen prüfst Du, wieviele Unterknoten der selektierte Knoten hat.
    Jetzt stellt sich die Frage, was Du eigentlich testen willst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Das ist seit Post#1 klar. Die Frage ist: mit welchem Kriterium willst Du unterscheiden, welchen Knoten Du angeklickt hast? Text? Position im TreeView? Beides ist fehleranfällig, wenn die Positionen oder Texte sich ändern, sei es wegen anderer Sortierung oder weil irgendwas irgendwo eigefügt wird oder Rechtschreibfehler korrigiert werden. Daher stellt sich die Frage, welches sichere Kriterium Du verwenden willst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    chaotium schrieb:

    oder dies mit einem Button tue
    bedeutet jetzt genau was?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Egal, ob der Knoten angeklickt wird oder nach dem Selektieren eines Knotens anderweitig der Button geklickt wird, soll das gleiche passieren.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.