Ar peles labo pogu noklikšķinot uz ListView vadīklas, mēs varam iegūt atlasītā vienuma individuālo teksta saturu. Tagad mēs lūdzam iegūt tikai šūnas teksta saturu, noklikšķinot ar peles labo pogu. Tālāk ir aprakstīts, kā to paveikt. 1. Definējiet globālo peles stāvokli m_MBRpt. punkts; Ar peles labo pogu noklikšķinot uz Punkts 2. Apstrādājiet ziņojumu sarakstāSkats, kad tiek nospiesta pele private void listView1_MouseDown(objekta sūtītājs, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Iegūstiet ekrāna peles koordinātas un konvertējiet tās saraksta vadīklu koordinātās m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Ar peles labo pogu noklikšķiniet uz izvēlnes - kopēšanas vienuma ziņojums private void COPYITEM_Click(objekta sūtītājs, EventArgs e) { Norādītās tabulas šūnas satura kopēšana if (listView1.SelectedItems.Count <= 0) { MessageBox.Show("Nav atlasīta informācija par transakciju!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); atgriezt; }
Iegūstiet ekrāna peles koordinātas un konvertējiet tās saraksta vadīklas koordinātās (apstrādājiet un saglabājiet, nospiežot peli) Punkts 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); virkne strText = lstcol. Teksts; Iestatīt uz ielīmēšanas paneli SetClipboardText(strText);
} 4. Iestatiet ielīmēšanas dēļa saturu public void SetClipboardText(string strText) { izmēģināt { starpliktuve.SetDataObject(strText); } nozveja (System.Exception ex) { MessageBox.Show(piem. Ziņojums, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |