Ha jobb kattintással kattintunk a ListView vezérlőre, megkapjuk a kiválasztott tétel egyedi szövegtartalmát. Most már csak a cella szövegtartalmát kérjük, ha jobb kattintással használjuk. Íme, hogyan: 1. Definiáljuk a globális egérállapotot m_MBRpt pont; Amikor jobb kattintással kattintasz a Point 2. Kezeld az üzenetet a listView-ban, amikor az egér megnyomódik private void listView1_MouseDown(object sender, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Szerezd meg a képernyős egér koordinátáit, és alakítsd át őket a lista vezérlők koordinátáivá m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Jobb kattintás menü – a másolási elem üzenete private void COPYITEM_Click(object sender, EventArgs e) { Másold a megadott táblázatcella tartalmát if (listView1.SelectedItems.Count <= 0) { MessageBox.Show ("Nincs tranzakciós információ kiválasztva!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); visszatérés; }
Szerezd meg a képernyős egér koordinátáit, és konvertáld őket a lista vezérlő koordinátáivá (dolgozd fel és mentsd el, amikor az egér megnyomódik) 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. SMS; Állítsd be a ragasztótáblára SetClipboardText (strText);
} 4. Állítsd be a ragasztótábla tartalmát public void SetClipboardText(string strText) { próbáld ki { Clipboard.SetDataObject(strText); } catch (System.Exception ex) { MessageBox.Show (pl. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |