У меня есть UserControl, который состоит из трех текстовых полей. В форме у меня может быть один или несколько или мой UserControl. Я хочу реализовать собственное поведение табуляции, поэтому, если пользователь нажимает Tab во втором TextBox, я должен перейти только к третьему TextBox, если у второго TextBox есть что-то введенное. Если во втором TextBox ничего не вводится, следующий элемент управления формы должен получить фокус в соответствии с обычным поведением вкладки. Если пользователь ничего не вводил в первом или втором текстовом поле и на вкладке прессов, это особый случай, когда элемент управления в форме должен быть пропущен.Переопределить поведение вкладок в WinForms
Используя ProcessDialogKey, мне удалось заставить его работать нормально, но у меня все еще есть одна проблема. Мой вопрос заключается в том, есть ли способ обнаружить, как элемент управления WinForms получил фокус, так как мне также хотелось бы узнать, получил ли мой UserControl фокус с Tab или Shift-Tab, а затем сделайте мои странные вещи, но если пользователь нажмет на элемент управления I не хотят делать ничего особенного.