Wenn wir mit der rechten Maustaste auf die ListView-Steuerung klicken, können wir den einzelnen Textinhalt des ausgewählten Elements erhalten. Jetzt bitten wir, nur den Textinhalt der Zelle zu erhalten, wenn man mit der rechten Maus klickt. So läuft das: 1. Definiere den globalen Mauszustand Punkt m_MBRpt; Wenn du mit der rechten Maustaste auf Punkt klickst 2. Behandle die Nachricht in der Listenansicht, wenn die Maus gedrückt wird private void listView1_MouseDown(Objektsender, MouseEventArgs e) { // if (e.Button==MouseButtons.Right) { Erhalte die Koordinaten der Mausbildschirm und wandele sie in die Koordinaten der Listensteuerung um m_MBRpt = listView1.PointToClient(Control.MousePosition); }
} 3. Rechtsklickmenü – die Nachricht des Kopierelements private Void COPYITEM_Click(Objektabsender, EventArgs e) { Kopieren Sie den Inhalt der angegebenen Tabellenzelle if (listView1.SelectedItems.Count <= 0) { MessageBox.Show("Keine Transaktionsinformationen ausgewählt!") , "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information); Rückgabe; }
Erhalte die Koordinaten der Mausbildschirm und wandele sie in die Koordinaten der Listensteuerung um (verarbeiten und speichern, wenn die Maus gedrückt wird) Point pt = listView1.PointToClient(m_MBRpt);
ListViewItem lstrow = listView1.GetItemAt(m_MBRpt.X, m_MBRpt.Y); System.Windows.Forms.ListViewViewItem.ListViewSubItem lstcol = lstrow. GetSubItemAt(m_MBRpt.X, m_MBRpt.Y); String strText = lstcol. Text; Auf die Pappplatte gesetzt SetClipboardText(strText);
} 4. Setzen Sie den Inhalt der Pappplatte ein öffentlicher Void SetClipboardText(String strText) { Versuch es { Zwischenabstand.SetDataObject(strText); } catch (System.Exception z.B.) { MessageBox.Show(z. B. Message, "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Error); }
} |