Când facem clic dreapta pe controlul ListView, putem obține conținutul textului individual al elementului selectat. Acum cerem să obținem doar conținutul textului celulei când facem clic dreapta. Iată cum: 1. Definirea stării globale a șoarecelui Punctul m_MBRpt; Când dai click dreapta pe Punct 2. Gestionează mesajul în listView când mouse-ul este apăsat private void listView1_MouseDown(object sender, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Obține coordonatele mouse-ului de ecran și convertește-le în coordonatele comenzilor de listă m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Meniul cu click dreapta - mesajul elementului de copiere vid privat COPYITEM_Click(object sender, EventArgs e) { Copiază conținutul celulei tabelului specificat dacă (listView1.SelectedItems.Count <= 0) { MessageBox.Show("Nicio informație de tranzacție selectată!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); restitui; }
Obține coordonatele mouse-ului de ecran și convertește-le în coordonatele controlului listei (procesează și salvează când mouse-ul este apăsat) Point pt = listView1.PointToClient(m_MBRpt);
ListViewItem lstrow = listView1.GetItemAt(m_MBRpt.X, m_MBRpt.Y); System.Windows.Forms.ListViewItem.ListViewSubItem lstcol = lstrow. GetSubItemAt(m_MBRpt.X, m_MBRpt.Y); string strText = lstcol. Text; Setați pe tabla de lipire SetClipboardText(strText);
} 4. Setează conținutul plăcii de paste board public void SetClipboardText(string strText) { încearcă { Clipboard.SetDataObject(strText); } catch (System.Exception ex) { MessageBox.Show(ex. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |