Windows 混合单选按钮和文本框:使用键盘导航的明智方式是什么?

Windows 混合单选按钮和文本框:使用键盘导航的明智方式是什么?,windows,winforms,user-interface,Windows,Winforms,User Interface,我有一个windows窗体,如下所示。有些收音机选项在按下按钮前需要附加信息2和3,有些则不需要 问题是:如何用键盘导航 默认情况下,行为是: 焦点在radioButton1 向下箭头指向radioButton2 向下箭头再次指向。。。文本框1 在这一点上,向下箭头没有其他地方。选项卡将转到文本框2,然后单击按钮1 无法通过键盘访问radioButton3 从选项卡排序TabStop=False中排除textbox1和textbox2可以访问radioButton3,但现在无法再访问这些文本框

我有一个windows窗体,如下所示。有些收音机选项在按下按钮前需要附加信息2和3,有些则不需要

问题是:如何用键盘导航

默认情况下,行为是:

焦点在radioButton1 向下箭头指向radioButton2 向下箭头再次指向。。。文本框1 在这一点上,向下箭头没有其他地方。选项卡将转到文本框2,然后单击按钮1

无法通过键盘访问radioButton3

从选项卡排序TabStop=False中排除textbox1和textbox2可以访问radioButton3,但现在无法再访问这些文本框

我试过:

从选项卡排序中排除textbox1和textbox2,现在无法访问它们 捕捉textbox1中的向下箭头并将焦点移动到radioButton3这感觉非常错误,并且会带来维护方面的头痛。 禁用textbox1和textbox2,除非检查了相应的收音机。不,这实际上让事情变得更糟 我不想考虑的是:

按钮后提示输入所需文本。听起来很糟糕 单选按钮下方的单个文本框。在这个应用程序中,文本框都有不同的验证,所以这是一个多么痛苦的问题。 鼠标不是必需的选项 正确的处理方法是什么

设置radioButton1到radioButton4的TabIndex,使其从0变为3

分别为textBox1和textBox2、4和5创建选项卡索引

按钮应为TabIndex 6

现在,可以使用向上/向下箭头导航单选按钮,您可以通过按钮从文本框切换到单选按钮


*如果您先放置所有单选按钮,然后放置文本框,那么TabIndexes将以这种方式设置。您最初可能按以下顺序放置控件:radioButton1、radioButton2、textBox1、radioButton3、textBox2、radioButton4、button1

您希望向下箭头键在控件中循环的顺序是什么?一种方法是重写ProcessCmdKey,只让箭头键在单选按钮之间移动,然后当您选择一个带有文本框的按钮时,自动将光标放在其中。我希望箭头继续穿过单选按钮,而不是突然像在第二个按钮后按下制表符一样。这实际上会到达所有控件,然而,要想找到对应的文本框中的单选按钮,需要一路走来走去,这似乎有点错误……同意;这是不可靠的。。。但是如果您不想在混合中添加代码,我认为这是正确的方法。