我有一个由三个文本框组成的用户控件。在窗体上,我可以有一个或多个或我的UserControl。我想实现我自己的选项卡行为,所以如果用户在第二个TextBox中按下Tab,我应该只在第二个TextBox输入任何内容时才移动到第三个TextBox。如果在第二个TextBox中没有输入任何内容,则表单的下一个控件应该按照常规选项卡行为获得焦点。如果用户没有在第一个或第二个文本框和印刷机标签页中输入任何内容,则会出现这种特殊情况,即表单上的控件应该被跳过。覆盖WinForms中的选项卡行为
通过使用ProcessDialogKey我设法让它工作好,但我仍然有一个问题。我的问题是,如果有一种方法可以检测WinForms控件如何获得焦点,因为我也想知道我的UserControl是否从Tab或Shift-Tab获得焦点,然后执行我的奇怪的操作,但如果用户单击控件I不想做任何特别的事情。