此代碼工作一個單一選擇的項目: 在頂部如何將剪貼板複製到ListView的多個選定項目?在構造</p> <pre><code>ContextMenuStrip menuStrip; </code></pre> <p>然後::
menuStrip = new ContextMenuStrip();
menuStrip.ItemClicked += menuStrip_ItemClicked;
menuStrip.Items.Add("Cut");
menuStrip.Items.Add("Copy");
menuStrip.Items.Add("Paste");
的menuStrip
itemclicked事件:
ListViewItem item;
private void menuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Text == "Copy")
{
Clipboard.SetText(item.SubItems[1].Text);
}
}
然後ListView
鼠標點擊事件:
private void lstDisplayHardware_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
item = lstDisplayHardware.GetItemAt(e.X, e.Y);
menuStrip.Show(lstDisplayHardware, e.Location);
}
}
此代碼適用於單個選定的項目。 例如,我點擊ListView
中的一個項目,右鍵單擊該項目並選擇Copy
:所選項目的子項目被複制到剪貼板。
但現在我想爲多重選擇做同樣的事情。因此,如果我使用Ctrl +鼠標左鍵單擊,例如選擇了4個項目,並從上下文菜單中調用Copy
命令,我希望將4個選定項目文本的所有子項都複製到剪貼板中。
例如,我有以下項目:
丹尼的hello world
丹尼爾大家好
丹今天下雨
丹尼爾斯晴天
我選擇的項目:
丹尼
daniel
dan
daniels
然後右鍵單擊並單擊複製。 當我paste
從我想讓它顯示剪貼板上的任何地方:
的hello world
大家好
今天下雨
晴天
所有所選項目的在同一順序的子項和格式。