Hallo,
ich habe ein Treeview, welches mit erweiterten TreeNodes arbeitet. Das funktioniert auch super.
Nun möchte ich die Text-Eigenschaft mein Versuch sah so aus:
public void ErweiterterTreeNode() : TreeNode
{
// Erweiterungen...
public override string Text
{
get{
return base.Text;
}
set{
base.Text = value;
aclass.aproperty = value;
}
}
}
Es kommt jedoch die Fehlermeldung das diese Eigenschaft in der Basisklasse nicht überschreibbar ist ( "Basisklasse nicht als virtual, abstract oder override markiert").
Wenn ich das Schlüsselwort "new" verwende haben die Knoten im Treeview zur Laufzeit keine Labels mehr (nur Leerstring) .
Hat jemand eine Idee wie man das lösen könnte?
Gruß
Hallo xbredoillex,
wenn eine Property nicht als virtual, abstract oder override markiert ist, kann man sie leider nicht vernünftig überschreiben. Wenn eine Property nicht markiert ist, muss man das leider so interpretieren, dass der Autor der Oberklasse das Überschreiben verhindert wollte. new
ist in solchen Fällen - wie du festgestellt hast - keine Lösung.
herbivore
Das habe ich mir fast gedacht, hoffe aber immer noch auf einen genialen Lösungsvorschlag 😃.
Guck dir mal an, was der Treeview selvber so anbietet. da gibts doch bestimmt labeleditcompleted oder sowas, in dem man den node dann informieren kann. (vermute ich einfach mal)
Genau das habe ich gerade ausprobiert. Der Event heißt "AfterLabelEdit". Das bringt aber auch (merkwürdige) Probleme, die ich nicht mal nachvollziehen kann.
Ich weiß jetzt nicht ob ich dafür nicht einen neuen Thread eröffnen soll, oder doch lieber hierher?