簡體   English   中英

如何使用contextmenu復制將listview子項文本復制到剪貼板?

[英]How to copy listview sub item text to clipboard using contextmenu copy?

private void lstDisplayHardware_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                ListViewItem item = lstDisplayHardware.GetItemAt(e.X, e.Y);
                ContextMenu m = new ContextMenu();
                m.MenuItems.Add(new MenuItem("Cut"));
                m.MenuItems.Add(new MenuItem("Copy"));
                m.MenuItems.Add(new MenuItem("Paste"));

                if (item != null)
                {
                    item.Selected = true;
                    m.MenuItems.Add(new MenuItem(string.Format("Do something to row {0}", item.Position.ToString())));
                    Clipboard.SetData(item.SubItems[1].Text, lstDisplayHardware);
                }
                m.Show(lstDisplayHardware, new Point(e.X, e.Y));
            }
        }

lstDisplayHardware是ListView控件。 右鍵單擊時,它不會將數據復制到剪貼板。

我想做的是,當我單擊/選擇“復制”時,它將把子項目文本復制到剪貼板。

現在,它根本不會將文本復制到剪貼板。

為此,您需要處理菜單項,單擊:

MenuItem miCopy = new MenuItem();
miCopy.Click += miCopy_Click;

void miCopy_Click(object sender, EventArgs e)
{
    //what you want to do  
}
 ContextMenu m = new ContextMenu();
m.MenuItems.Add(miCopy);

我不認為Clipboard.SetData是您想要的。

嘗試使用Clipboard.SetText(item.SubItems [1] .Text);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM