2

如何使用右键单击“复制”菜单将列表框中的选定项目复制到剪贴板?

4

4 回答 4

9

如果你想选择一个项目,然后按 ctrl + c 然后使用这个代码:

 private void listBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Control == true && e.KeyCode == Keys.C)
        {
            string s = listBox1.SelectedItem.ToString();
            Clipboard.SetData(DataFormats.StringFormat, s);
        }
    }
于 2017-03-30T13:17:00.587 回答
6

要将列表框中的所有项目复制到剪贴板:

Clipboard.SetText( string.Join( Environment.NewLine, ListBox1.Items.OfType<string>() ) );

仅将列表框中的选定行复制到剪贴板(列表框 SelectionMode 为 MultiExtended):

Clipboard.SetText( string.Join( Environment.NewLine, ListBox1.SelectedItems.OfType<string>() ) );
于 2016-08-16T14:34:34.403 回答
2

要操作剪贴板中的文本,您可以使用静态剪贴板类:

    Clipboard.SetText("some text");

http://msdn.microsoft.com/en-us/library/system.windows.clipboard(v=vs.110).aspx

于 2013-11-03T01:22:33.823 回答
0

我单击了我的列表框以在表单类中创建一个自动函数。

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
 Clipboard.SetDataObject(this.listBox1.SelectedItem.ToString());
}

我添加了 Clipboard.SetDataObject() 行并且它有效。

于 2021-09-04T11:30:35.957 回答