DataGridView KeyDown事件无法正常工作

时间:2012-01-27 14:02:35

标签: c# winforms datagridview

我有一个带KeyDown事件的DataGridView。

void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.C && e.Modifiers == (Keys.Control | Keys.Shift)) 
    {     
        MessageBox.Show("ok"); // to test if working
    }
}

当我按下组合键时,会出现提示信息 但这只是在datagridview为空(没有数据行)时。 当datagridview已经有行时,代码不起作用。

代码有什么问题吗?

3 个答案:

答案 0 :(得分:2)

当DataGridView处于编辑模式时,KeyDown事件处理程序不会触发。

答案 1 :(得分:0)

datagridview具有带有自己事件的子控件。我认为你也需要捕获行和/或单元格keydown事件。

答案 2 :(得分:0)

我相信你必须从DataGridView类派生才能获得你想要的关键处理。另一种选择是add a message filter,但我会将派生数据网格作为我的第一种方法。