当我尝试在c#中为DataGridview创建KeyDown
事件时,会显示错误“handler Control_KeyDown already exists in this class
”。
我已在KeyDown
事件中为DataGridview1创建了DataGridview1_EditingControlShowing
事件。
e.Control.KeyDown +=new KeyEventHandler(Control_KeyDown);
我想为DataGridview2创建相同的事件,所以在DataGridview2_EditingControlShowing事件中
e.Control.KeyDown +=new KeyEventHandler(Control_KeyDown); // here the above error shown.So i tried
DataGridview2.KeyPress +=new KeyEventHandler(Control_KeyDown); // it compiles, but event not firing.
答案 0 :(得分:1)
如果您要处理keypress
事件,您的事件处理程序可能是KeyPressEventArgs
对于keydown
,您的事件处理程序应为PreviewKeyDownEventArgs
E.g
dataGirdView1.KeyPress += OnDataGirdView1_KeyPress;
private void OnDataGirdView1_KeyPress(object sender, KeyPressEventArgs e)
{
}
用于按键事件
dataGirdView1.PreviewKeyDown += dataGridView1_PreviewKeyDown;
private void dataGridView1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
}