Instead of using Keypress events, you can use ProcessCmdKey to handle keys globally
For example, to go to the next control on Enter, but only when the focus is not on the button (button1 in my test),
you can do something like
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
{
if (this.ActiveControl.Handle != button1.Handle)
this.SelectNextControl(this.ActiveControl, true, true, true, true);
}
return base.ProcessCmdKey(ref msg, keyData);
}