我有一个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);
}
}
答案 0 :(得分:1)
您的问题是您要在其中添加事件处理程序的这一行:
AnalysisDGWArray[index].KeyDown += new KeyEventArgs(Copy_Click);
您收到错误消息,因为这不是正确的语法(您正在尝试将方法-Copy_Click
-传递给KeyEventArgs
构造函数。)
连接事件处理程序的正确方法是:
AnalysisDGWArray[index].KeyDown += Copy_Click;