【问题标题】:Constrain moving of keyboard focus between buttons via arrow keys通过箭头键限制按钮之间键盘焦点的移动
【发布时间】:2013-08-20 17:41:58
【问题描述】:

假设您有一个带有十个按钮的表单,其中第一个按钮具有键盘焦点,以便可以通过按键盘上的 Enter 键来单击它。 现在,您只需按向下箭头键即可将焦点设置到下一个按钮。这是开箱即用的。

问题:
如何将此功能限制为表单上的前三个按钮?
因此,当表单上的第三个按钮获得焦点并且我按下向下箭头键时,第一个按钮(而不是第四个按钮)应该获得焦点。

【问题讨论】:

  • 听起来您需要处理KeyUp/KeyDown 事件并自己添加逻辑。
  • 是的,正如 Anthony 所说 - 如果视觉 C# gui 处理类似于 Visual Basic,您应该能够将它们放在某种“组”中。

标签: c# winforms


【解决方案1】:

将它们放入容器中。

这样 - 它只会遍历这些按钮。 (我刚刚尝试了 Panel 并且它有效。)

【讨论】:

  • 很好,即使是正常的方法也是处理一些关键事件,但是这是最简单的事情,但是应该推荐Panel
  • 绝对是这个或将 keyup/keydown 设置为自定义事件(您可以在每个按钮上重复使用相同的事件)以将焦点设置回第一个按钮。
  • 确实如此。我不敢相信我没有测试过这个。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多