我有一个Windows窗体,其上放置了ListView
和TextBox
。此外,表单上有一个名为“提交”的按钮,AcceptButton
设置为true。
现在,我的要求是,每当我加载表单并按Enter键时,“提交”按钮都会被触发,这很好。但是,当我选择TextBox
并在其中键入内容然后按回车键时,焦点应该来到ListView
,而不是AcceptButton
我怎样才能做到这一点?
答案 0 :(得分:2)
您可以根据主动控件设置AcceptButton
,或者作为更好的选项,自己处理ProcessDialogKey
。这是AcceptButton
包含the logic的方法。
所以你可以覆盖它,例如:
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter)
{
if (this.ActiveControl == this.textBox1)
{
MessageBox.Show("Enter on TextBox1 handled.");
return true; //Prevent further processing
}
}
return base.ProcessDialogKey(keyData);
}