Я просто застрял на той же проблеме. Долгое время не пользовался WinForms, подумал, можно ли что-то упустить в такой простой вещи?
В моем случае, я хочу, чтобы кнопка «ОК» была невидимой (или отключенной) во время выполнения некоторой задачи, а затем появлялась в конце ... Так что в начале показывается только «Отмена», и это всегда «принять»! Независимо от того, установил ли я AcceptButton на «Ok» или «None», и после того, как на форме появилось «Ok», все равно «Cancel» действует на Enter. Если обе кнопки всегда видны и включены - это правильно. Ну ... я думал, что это правильно, но теперь, прочитав это, я попытался переключить порядок кнопок и да, это первая кнопка, которая всегда "принимает".
Похоже, что Form.AcceptButton просто устарел и теперь не используется. Хотя Form.CancelButton работает до сих пор. Я знаю, как это работает в HTML, но в WinForms ... У меня тот же вопрос "wtf". .NET 4.5.