TreeView mit drag and Drop

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Michl.

    Hallo ErfinderDesRades,

    Dein hier genannter Tipp entspricht so ziemlich dem, was ich Suche.
    Der selektierte Knoten kann in andere Knoten verschoben werden usw.

    Ich habe aber folgendes Problem, welchem ich auch nach längerem durchforsten des Internets nicht näher gekommen bin.

    Bsp:
    +Knoten01
    - Knoten0101
    - Knoten0102
    - Knoten0103

    Ist es möglich zwischen den Knoten "0101" und "0102" eine Linie zu zeichnen, wenn sich der Cursor beim Verschieben des Knotens "0103" genau zwischen den beiden befindet?
    Knoten "0103" soll dann beim loslassen zwischen "0101" und "0102" (oder ggf. woanders) einsortiert werden.

    Im Prinzip würde ich gerne das TreeView aus Outlook (Posteingangs-Ordner) abbilden, da geht das Sortieren und Einfügen genau so wie ich das gerne umsetzen würde.

    Für ein ListView habe ich ein solches Beispiel bereits gefunden, schaffe es aber nicht dieses für das TreeView umzusetzen.

    Wenn es ein Beispiel für mein Vorhaben gäbe wäre das super!

    Im voraus schon mal vielen Dank!

    VG. Michl
    klar ist möglich - ist nur kompliziert.
    Man musses mit OwnerDrawing lösen, ich hab mal eine Extra-Highlighter-Komponente geschrieben, mit der man in ListenControls (egal, ob TV oder Listbox) Items und sogar auch Item-Zwischenräume highligten kann.
    Aber bei TV hab ich bisher immer die einfache Logik angewandt, dass ein Node, der auf einen anneren dropt, darin eingeschachtelt wird (und zwar in sortierter Reihenfolge).
    ABer für Listbox hab ich den Highlighter auch mal eingesetzt, um Zwischenräume zu highlighten.

    Das Sample ist aber c#
    Dateien
    • DragDropper00.zip

      (24,53 kB, 239 mal heruntergeladen, zuletzt: )
    Hallo ErfinderDesRades,

    Erstmal Danke für deine Antwort und das Sample.

    Dieses Beispiel hatte ich im Netz auch für VB gefunden und mir mal (natürlich ohne irgendwie weiterzukommen) angeschaut.

    Ich hänge mal ein VB-Beispiel für ein ListView an, in dem das so realisiert ist wie ich mir das Handling vorstellen könnte.

    Siehst du eine Chance, das Beispiel für ein TreeView anzupassen, oder meist du dass ich mein Vorhaben vorerstmal aufgeben sollte?

    Es kommt halt noch hinzu, dass ich in VB-Net sehr wenig Erfahrung habe, aber doch einige Kenntnisse aus den VB6 Zeiten habe.

    Beste Grüße aus der Pfalz, Michl
    Dateien