Keď klikneme pravým tlačidlom na ovládanie ListView, môžeme získať individuálny textový obsah vybranej položky. Teraz žiadame, aby sme dostali iba textový obsah bunky po kliknutí pravým tlačidlom. Tu je ako: 1. Definujte globálny stav myši Bod m_MBRpt; Keď kliknete pravým tlačidlom na Point 2. Spracovať správu v listView pri stlačení myši private void listView1_MouseDown(object sender, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Získajte súradnice myši na obrazovke a preveďte ich na súradnice ovládacích prvkov zoznamu m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Menu pravým tlačidlom – správa o kopírovanej položke private void COPYITEM_Click(object sender, EventArgs e) { Skopírujte obsah špecifikovanej bunky tabuľky ak (listView1.SelectedItems.Count <= 0) { MessageBox.Show ("Nie sú vybrané žiadne informácie o transakcii!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); vrátiť; }
Získajte súradnice myši na obrazovke a preveďte ich na súradnice ovládacieho systému zoznamu (spracujte a uložte, keď sa myš stlačí). 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; Nastavte na pastovú dosku SetClipboardText(strText);
} 4. Nastavte obsah pastovej dosky public void SetClipboardText(string strText) { Skús { Clipboard.SetDataObject(strText); } catch (System.Exception ex) { MessageBox.Show(napr. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |