ListView alle Items in Zwischenablage

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    wie du siehst - "das" (was immer damit gemeint ist) funktioniert so nicht.
    Die SetText() - Methode setzt Text, keine ListViewItems (Nomen est Omen).

    Also tatsächlich Frage, was mit "das" gemeint ist: Willst du Text ins Clipboard setzen, oder ListviewItems?



    Ach . und wenn du deine Programmier-Fähigkeiten i, Allgemeinen erweitern willst, könnte man sogar noch grundsätzlicher klären, was "nicht möglich ist" bedeutet - obs da eine Fehlermeldung gibt, in welcher Zeile usw.
    Hinweis zur Problemumgehung
    Wenn Du nicht zwischen zwei Anwendungen, die jeweils ListViews enthalten, arbeitest, werfe ich mal in den virtuellen Raum, dass sich Dein Problem anders sicherlich einfacher/besser lösen. (DragDrop, direktes Kopieren der ListViewItems, Inhalte der LVI kopieren)

    Problemlösung bei bestehender Vorgehensweise
    Clipboard.SetData() nutzen und eine List(Of ListViewItem) einfügen. Das entstehende allgemeine Datenobjekt musst Du dann beim Laden aus dem Clipboard in ein IEnumerable(Of ListViewItem) casten, um es wieder sinnvoll nutzen zu können:

    LVIs@Clipboard

    VB.NET-Quellcode

    1. Dim LVIList As New List(Of ListViewItem)
    2. For Each LVI As ListViewItem In ListView1.SelectedItems
    3. LVIList.Add(LVI)
    4. Next
    5. Clipboard.SetData("NearlyAnyCustomFormatName", LVIList)
    6. '[...]
    7. Dim ClipBoardObject = Clipboard.GetData("NearlyAnyCustomFormatName")
    8. Dim LVIListFromClipboard = CType(ClipBoardObject, IEnumerable(Of ListViewItem))
    9. For Each LVI In LVIListFromClipboard
    10. ListView2.Items.Add(LVI)
    11. Next


    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.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VaporiZed“ ()

    Ehm ... ich weiß ja nicht, was Du mit meinem Code gemacht hast, aber bei mir läuft der Code rund. Er kopiert alle ausgewählten ListViewItems ins Clipboard und holt diese später wieder raus.
    Dein Code kopiert eben nicht die ListViewItems, sondern nur die SubItem(0)-Texte der Items, also die Hauptbeschriftung (= Text). Wenn das Dein Ziel war, dann hattest Du die Frage von @ErfinderDesRades in Post 2 nicht entsprechend Deinen eigenen Anforderungen beantwortet :huh:

    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.

    Basteey02 schrieb:

    ListViewItems natürlich
    Wer empfängt den Inhalt der Zwischenablage?
    Welches Format wird vom Empfänger erwartet?
    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!