Probleme mit vererbtem TreeNode und Rückabe aus TreeView

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von sudave.

    Probleme mit vererbtem TreeNode und Rückabe aus TreeView

    Ich habe eine Klasse erstellt, die von TreeNode erbt und diese Klasse um ein paar Eigenschaften und Funktionen erweitert.

    In ein TreeView hinzufügen geht leicht, da dieser ein TreeNode erwartet und im Grunde ja einen bekommt.

    Jetzt hänge ich allerdings an dem Problem, dass ich z.B. mit TreeView.SelectedNode ein Node zurückbekommen will, das auch die zusätzlichen Eigenschaften meiner Klasse hat, es wird allerdings nur ein TreeNode zurückgegeben.
    Casting funktioniert natürlich auch nicht, weil ein bestehender TreeNode als neue Instanz meiner Klasse immernoch keine festgelegten (weiteren) Eigenschaften hat.

    Deswegen die Frage: ist es möglich die TreeItems wirklich als Meine-Klasse-Nodes abzulegen und dann wieder abzurufen? bzw. handelt man so etwas irgendwie anders?
    Hi
    doch, Cast funktioniert sehr sicher. Wenn nicht alle Knoten des TreeViews Instanzen deiner TreeNode-Klasse sind, solltest du das erst per TypeOf node Is DeinTreeNodeTyp abfragen. Anschließend kannst du per DirectCast(node, DeinTreeNodeTyp) auf die Member der Instanz des erweiterten Typs zugreifen. Der Zugriff muss halt dann auf dem DirectCast.. laufen oder auf der Variable, der du das zuweist.

    Gruß
    ~blaze~
    okay.. komische Sache.
    Hatte die IDE zu und wollte es nochmal versuchen, aufgemacht, einfach gestartet und ohne irgendetwas zu verändern, läuft es auf einmal.
    Vor dem Schließen hatte ich immer den Fehler, dass ich eines nicht aufs andere Casten kann..

    Naja, danke ;)