C# 如何在程序中实现控件之间的切换

7

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

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

我知道Focus()函数,但我更希望做一些自动遵守制表符顺序的事情。通过模拟键盘导航,我不必担心为每种类型的控件重新发明复杂的行为。

有人知道如何实现吗?

谢谢!


谢谢,这些都是很好的回答,而且非常快。我选择了Thomas的建议,因为它与我的项目非常契合。 - NXT
3个回答

12

9

在Winforms中:

Control nextControl = this.GetNextControl(myControl, true);

为了模拟一个Tab键的按下,我认为应该使用以下代码:
SendKeys.Send("{TAB}");

3
你可以使用P/Invoke调用Windows API函数keybd_event来模拟按下Tab键。
奖励:你也可以使用设备在文本编辑器中输入制表符! ;)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接