Mehrfachauswahl in einem TreeView
-
13-09-2019 - |
Frage
Ich bin mit einer Windows Forms TreeView
Kontrolle in meinem Programm. Ich möchte dem Benutzer ermöglichen, mehrere Knoten auf der gleichen Ebene zu wählen, indem Sie ihren Mauszeiger um (auch ein „Lasso“ Auswahl genannt). Ich glaube nicht, ein Standard-TreeView
das erlaubt.
Meine Frage ist, was der beste Weg wäre, um dies zu erreichen? Muß ich in vielleicht einem benutzerdefinierten oder abgeleiteten Steuer individuelle Auswahlverhalten meiner eigenen schreiben? Wo soll ich anfangen?
Ich brauche keine detaillierte Erklärung. Nur ein kleiner Schub in der richtigen Richtung.
Lösung
Das wird einfach sein, nicht mit einer Standard-WinForms TreeView
Kontrolle zu tun. Die TreeView
Steuerung unterstützt nur einzelne Auswahl pro Baum. Es ist nicht möglich, gleichzeitig mehrere Knoten im Baum auswählen.
Um dieses Verhalten zu bekommen Sie wahrscheinlich eine sehr ähnliche Klasse zu erstellen, benötigen würden am Ende TreeView
, die für eine Mehrfachauswahl erlaubt. Eine weitere Option ist von TreeView
abzuleiten und Mehrfachauswahl ermöglicht durch bestimmte Verhaltensweisen zu überschreiben. Hier ist ein Artikel darüber, wie diese zu tun.
Andere Tipps
Betrachten Mehrfachauswahl in einem Steuer Implementierung, die mehrere Auswahl wie Listview unterstützt. Wenn Sie folgen Standards, die die meisten Windows-Anwender verstehen Sie mit einer Lösung am Ende dann die einfacher zu implementieren und einfacher zu bedienen ist.
Wenn Sie wirklich etwas mehr erarbeiten müssen Sie vielleicht eine individuelle Kontrolle berücksichtigen müssen zu entwickeln.