C#如何以编程方式在控件之间切换选项卡

NXT*_*NXT 7 c#

我希望能够以编程方式模拟对话框的键盘导航.

我有一个带键盘的自定义硬件设备,我想用它来进行对话框导航.

我知道Focus(),但我宁愿做一些自动遵守Tab键顺序的东西.通过模拟键盘导航,我不必担心为每种类型的控件重新发明复杂的行为.

有谁知道如何做到这一点?

谢谢!

Ran*_*pho 12

对于Winforms,您需要想要的Control.GetNextControl()方法

对于WPF,您需要该UIElement.MoveFocus()方法


Wil*_*ins 9

在Winforms中:

Control nextControl = this.GetNextControl(myControl, true);
Run Code Online (Sandbox Code Playgroud)

要模拟标签按,我相信它是以下内容:

SendKeys.Send("{TAB}");
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 3

您可以使用 P/Invoke 调用 Windows API 函数keybd_event来模拟按下 Tab 键。

奖励:您还可以使用您的设备在文本编辑器中输入选项卡!;)