我已经尝试编辑它以区分 tabControl 上的“选项卡”和使用 Tab 键通过控件的“选项卡”,但我只是要通电并希望含义清楚......
我有一个带有选项卡控件界面的 ac# 项目。3 个标签页(个人信息、联系人详细信息、附加说明)和相关控件包含在每个标签中。
我们的大多数用户发现仅使用键盘导航界面更容易(例如键盘快捷键和导航控件的选项卡)。我已经包含了各种快捷键组合的键盘监听器。例如,PageUp 和 PageDown 将允许用户翻阅各个选项卡。
然而,这些用户在输入信息时遵循相同的模式:一旦他们通过 PersonalInformation 选项卡的控件(根据需要填充)并到达选项卡上的最后一个控件,他们希望“保持选项卡”。如:当最后一个控件聚焦于 TabControl.Page1 时,用户按下 Tab 键会将焦点移动到 TabControl.Page2 上的第一个控件。当最后一个控件聚焦于 TabControl.Page2 时,用户按下 Tab 键会将焦点移至 TabControl.Page3。
通过这种方式,信息被分组并包含在一起,用户可以简单地继续键入和 Tab 键来输入表单上的所有信息,而无需使用键盘。
所以真正的问题是有效地做到这一点:我不能简单地处理最后一个控件的 OnLeave:用户(在最后一个控件上)选择较早的控件(甚至 shift-Tab)也会触发事件。
另一个问题是维护:如果维护者忘记/不知道这个“将焦点移到下一个选项卡”功能,在选项卡底部添加另一个控件可能会导致整个事情失败。也许将最后一个控件添加到表单中?