Winforms 关键事件处理程序不';不要在窗体级别开火
上述事件处理程序从不激发。但窗体的子控件的处理程序会执行此操作。问题是什么?除了拥有事件处理程序外,还需要将表单的属性设置为Winforms 关键事件处理程序不';不要在窗体级别开火,winforms,events,input,event-handling,c++-cli,Winforms,Events,Input,Event Handling,C++ Cli,上述事件处理程序从不激发。但窗体的子控件的处理程序会执行此操作。问题是什么?除了拥有事件处理程序外,还需要将表单的属性设置为true。根据MSDN: 当此属性设置为true时,表单将接收所有按键、按键向下和按键向上事件。表单的事件处理程序完成对击键的处理后,击键将被分配给具有焦点的控件 谢谢你的快速回答! {Form constructor} this->KeyDown += gcnew KeyEventHandler(this, &Form::Form_KeyDown); ...
true
。根据MSDN:
当此属性设置为true时,表单将接收所有按键、按键向下和按键向上事件。表单的事件处理程序完成对击键的处理后,击键将被分配给具有焦点的控件
谢谢你的快速回答!
{Form constructor}
this->KeyDown += gcnew KeyEventHandler(this, &Form::Form_KeyDown);
...
void Form1::Form_KeyDown(Object^ Sender, KeyEventArgs^ E)
{
MessageBox::Show("Key = " + E->KeyCode.ToString(), "Test");
}