фактически ProcessCmdKey не происходит под списком событий формы, поэтому не могли бы использовать его раньше. ^ _^
Я редактировал немного и изменить его, чтобы обнаружить, если какие-либо кнопки доступны, и если есть, то она не будет двигаться фокус, а затем нажмите кнопку ..
Button b = this.ActiveControl as Button;
if (keyData == Keys.Enter && this.AcceptButton == null && this.ActiveControl != null && !this.ActiveControl.Equals(b))
{
TextBoxBase box = this.ActiveControl as TextBoxBase;
if (box == null || !box.Multiline)
{
// Not a dialog, not a multi-line textbox; we can use Enter for tabbing
this.SelectNextControl(this.ActiveControl, true, true, true, true);
return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);
Но WhatIf я хотите нажать кнопку один раз, а затем снова перейти к новому элементу управления? Есть ли способ вызвать этот ProcessCmdKey вручную?
Вы используете WinForms или WPF? –