在DataGridView上按ctrl c,ctrl v

时间:2018-07-11 11:24:35

标签: c# datagridview

我有一个DataGridView,我希望能够使用CRTL + C从中复制一行。

我已经为此创建了一个事件,但是我不断收到错误消息“无法从“方法组”转换为“键”。

AnalysisDGWArray[index].KeyDown += new KeyEventArgs(Copy_Click); 

private void Copy_Click(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if (e.KeyCode == System.Windows.Forms.Keys.C && e.Control)
    {
        // copy logic
        DataGridView dgv = sender as DataGridView;
        dgv.Select();
        DataObject o = dgv.GetClipboardContent();
        Clipboard.SetDataObject(o);
    }
}

1 个答案:

答案 0 :(得分:1)

您的问题是您要在其中添加事件处理程序的这一行:

AnalysisDGWArray[index].KeyDown += new KeyEventArgs(Copy_Click); 

您收到错误消息,因为这不是正确的语法(您正在尝试将方法-Copy_Click-传递给KeyEventArgs构造函数。)

连接事件处理程序的正确方法是:

AnalysisDGWArray[index].KeyDown += Copy_Click;