我有一个带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已经有行时,代码不起作用。
代码有什么问题吗?
答案 0 :(得分:2)
当DataGridView处于编辑模式时,KeyDown
事件处理程序不会触发。
答案 1 :(得分:0)
datagridview具有带有自己事件的子控件。我认为你也需要捕获行和/或单元格keydown事件。
答案 2 :(得分:0)
我相信你必须从DataGridView类派生才能获得你想要的关键处理。另一种选择是add a message filter,但我会将派生数据网格作为我的第一种方法。