子窗体激活时,KeyUp事件偏偏传到了父窗体
我做了两个窗体,父窗体中设置了一个KeyUp事件响应函数,只希望它对父窗体激活时的键盘操作作出响应,但是现在发现子窗体激活时,键盘事件被父窗体捕获了,这是我不希望发生的。
具体的代码如下:
父窗体的键盘响应:
public class MainForm:Form
{
private void Keyup_Callback(object sender, KeyupEventArgs e)
{
if(e.Keycode == Keys.Enter)
//do something
}
}
//父窗体调用
SubForm.Show();
//子窗体代码
public class SubForm:Form
{
public DialogResult result = DialogResult.None;
public static DialogResult Show()
{
subForm = new subForm();
subForm.Showdialog(); // Showdialog阻塞期间,用户点击SubForm上的确定按钮,事件响应见btnCommit响应函数
return this.result;
}
private void btnCommint_Callback(object sender, EventArgs e)
{
this.Close();
this.result = DialogResult.OK;
}
}