Kun napsautamme ListView-ohjausta hiiren oikealla, saamme valitun kohteen yksittäisen tekstisisällön. Nyt pyydämme, että solun tekstisisältö saadaan oikealla klikkauksella. Näin näin: 1. Määrittele globaali hiiren tila Kohta m_MBRpt; Kun napsautat hiiren oikealla Point-painiketta 2. Käsittele viesti listView-tilassa, kun hiirtä painetaan yksityinen void listView1_MouseDown(objektin lähettäjä, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Hanki näytön hiiren koordinaatit ja muunna ne listakontrollien koordinaateiksi m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Hiiren oikean painikkeen valikko – kopiointikohteen viesti private void COPYITEM_Click(objektilähettäjä, EventArgs e) { Kopioi määritellyn taulukon solun sisältö if (listView1.SelectedItems.Count <= 0) { MessageBox.Show("Ei tapahtumatietoja valittuna!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); paluu; }
Hanki näytön hiiren koordinaatit ja muunna ne listakontrollin koordinaatteiksi (prosessoi ja tallenna kun hiirtä painetaan) 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. Tekstiviesti; Aseta liimataululle SetClipboardText (strText);
} 4. Aseta liimataulun sisältö public void SetClipboardText(string strText) { yritä { Clipboard.SetDataObject(strText); } catch (esim. System.Exception) { MessageBox.Show(ex. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |