Wenn man ein Listview mit Einträgen hat und man einen bestimmten Eintrag – hier im Beispiel mit der rechten Maustaste – kopieren möchte, geht man wie folgt vor:
In der Methode wo wir das Listview (viewListe) füllen, definieren wir auch gleich die Property “Tag”:
1 2 3 4 5 6 7 8 9 10 11 | foreach (var item in List) { ListViewItem lvi = new ListViewItem(new string[3] { Convert.ToString(item.number), Convert.ToString(item.name), Convert.ToString(item.extra) }); viewListe.Items.Add(lvi); lvi.Tag = item; } |
Dann der Listview (viewListe) ein MouseClickEvent hinzufügen, ich kopiere hier den Namen in der Liste mit der rechten Maustaste:
1 2 3 4 5 6 7 8 9 | ListView lvSender = (ListView)sender; Information infoSender = (Information)lvSender.SelectedItems[0].Tag; if (e.Button == MouseButtons.Right) { foreach (var item in List) { if (item.name.Equals(infoSender.name)) //copy clipboard if (infoSender.name!= null) Clipboard.SetDataObject(infoSender.name, true); } } |








Du brauchst nichtmal den Sender vom Event zu casten, sondern du kannst einfach foldendes nutzen, um das ausgewählte Element zu bekommen:
ListViewName.SelectedItems[0].SubItems[0].Text