Listview Selected.Eintrag ins Clipboard (CTRL+C)

  • VB.NET

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

    Listview Selected.Eintrag ins Clipboard (CTRL+C)

    Hey,

    Hab hier ein Button + 1x Listview mit 6 Spalten + dazugehörige items schon geadded.
    Ich will nun bei Button.Click, dass dann das item von der selected - 2.Spalte ins clipboard kopiert wird.

    Ich kriege es nur mit der ersten Spalte hin.
    Weiß nicht wie ich das für die 2.Spalte hinkriege, hab schon fast alles probiert :(

    Code für selected.item von der ersten spalte:

    VB.NET-Quellcode

    1. Clipboard.Clear()
    2. For Each ItemX As ListViewItem In ListView1.SelectedItems
    3. Clipboard.SetText(ItemX.ToString)
    4. Next


    Könnte mir bitte jemand helfen?
    Ich weiß nicht wie ich bei der FOR-Zeile das ItemX als item von der 2.SPalte definieren kann :(
    wär nett wenn mir geholfen werden könnte!
    Danke schomal :)

    VB.NET-Quellcode

    1. For i As Integer = 0 To ListView1.Items.Count - 1
    2. For Each sub_item As ListViewItem.ListViewSubItem In ListView1.Items.Item(i).SubItems
    3. ClipBoard.SetText(sub_item.Text)
    4. Next
    5. Next
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    For i As Integer = 0 To ListView1.Items.Count - 1
    For Each sub_item As ListViewItem.ListViewSubItem In ListView1.Items.Item(i).SubItems
    ClipBoard.SetText(sub_item.Text)
    Next
    Next
    Danke für die superschnelle antwort, aber der funktioniert irgendwie nicht richitg.
    Kopiert jedesmal was anderes (Hängt davon ab wv items geadded sind glaub ich)

    Ich will jedoch nur das ITEM von der ZWEITEN SPALTE, vom SELECTED Eintrag :(
    Hab 6x Spalten!
    Wenn mein selected Eintrag so aussehen würde:
    ----------------------------------------------
    NAME|FABRE|ZAHL|BUCHSTABE|ZEICHEN|TIER |
    ----------------------------------------------
    Kai | Blaue|Fünf | A | ? |Maus| <--- DIESER Zeile/EINTRAG SELECTED
    ----------------------------------------------

    Dann würde es BLAUE sein, das ins clipboard soll, weil es das Item von der 2. Spalte ist.
    Hoffe ihr wisst jetzt besser was ich mein!
    Pro-Tip: Nimm gleich ein DataSet und binde es an die ListView.
    Das wäre besser.

    //EDIT: Ach SpaceyX war schneller :(

    Andernfalls musst du nur den Index dieses SubItems hernehmen:

    VB.NET-Quellcode

    1. ClipBoard.SetText(ListView1.SelectedItems(0).SubItems(1).Text
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

    @SEX: ClipBoard.SetText(...) ersetzt den vorhendenen Text in der Zwischenablage durch den neuen Text.
    Wenn Du mehrere Textteile übertragen möchtest, musst Du sie vorher zu einem gemeinsamen String verknüpfen.
    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!