【发布时间】:2013-03-18 15:06:24
【问题描述】:
我有一个GroupBox 和一堆RadioButtons。当他们有焦点时,我可以使用向上/向下键来遍历它们。
但是当我手动更改选中的RadioButton 并按下上/下键时,迭代会从更改选中的RadioButton 之前的位置开始。问题是:
- 当 RadioButton 具有焦点时,控件处理事件对应于上/下键单击。
答案:
要处理 TAB、ESC、RETURN 或 ARROW 按钮KeyDown 的事件,您需要覆盖控件的IsInputKey 方法。或者覆盖ProcessCmdKey 而不是KeyDown。
- 如何正确更改当前选中的 RadioButton。
答案:
除了设置radioButton.Checked = true。你需要专注于它 - radioButton.Focus()。
示例: 我有 6 个单选按钮(0-5)组。
- 当前选中的是 RadioButton No.1。
- 检查了我的功能更改 RadioButton 从 No.1 到 No.3。
- 用户按下 Arrow_Up 并 RadioButton No.0 变为选中而不是 No.2。
【问题讨论】:
-
尝试将当前tab-index设置为选中项
标签: c# .net winforms radio-button