如何允许用户从列表框中复制项目并粘贴到Windows窗体外部

时间:2018-07-12 13:04:35

标签: c#

我知道,对于数据网格,用户可以选择项目,将其复制,然后将其粘贴到表单外部。有没有一种方法可以使用列表框?看起来您可以在列表框中选择多个项目,但是如果您尝试将选定的值粘贴到表单外部,似乎并没有真正复制它。

2 个答案:

答案 0 :(得分:3)

当用户单击ctrl + c将项目放入剪贴板时,您可以捕获事件。

此代码用于具有多选MultiSimple=true的列表框

private void ListBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if (e.Control && e.KeyCode == Keys.C)
        {
            System.Text.StringBuilder copy_buffer = new System.Text.StringBuilder();
            foreach (object item in ListBox1.SelectedItems)
                copy_buffer.AppendLine(item.ToString());
            if (copy_buffer.Length > 0)
                Clipboard.SetText(copy_buffer.ToString());
        }
    }

答案 1 :(得分:0)

要通过 Ctrl + C 复制所选项目,请使用以下代码:

private void LstVehicles_KeyDown(object sender, KeyEventArgs e)
{
   if (e.Control && (e.KeyCode == Keys.C))
   {
      Clipboard.SetText(this.yourListBoxName.SelectedItem.ToString());
   }
}