Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单选按钮通过键盘导航_C#_Winforms - Fatal编程技术网

C# 单选按钮通过键盘导航

C# 单选按钮通过键盘导航,c#,winforms,C#,Winforms,我的WinForm上有3个单选按钮 我想让用户也可以通过键盘在它们之间导航。 有什么方法可以实现它吗 我明白我必须使用以下代码: if (e.KeyChar==Convert.ToChar(Keys.Down)) 但我怎么知道哪一个单选按钮必须设置为选中 最简单的解决方案是使用键盘快捷键。这需要在每个单选按钮文本中的一个字符前面加上&字符 例如,如果单选按钮的文本为“&Big option”,则用户可以通过同时按[ALT]和B键来选择此选项 此外,一旦其中一个单选按钮具有焦点,您可以使用

我的WinForm上有3个单选按钮

我想让用户也可以通过键盘在它们之间导航。
有什么方法可以实现它吗

我明白我必须使用以下代码:

 if (e.KeyChar==Convert.ToChar(Keys.Down))  

但我怎么知道哪一个单选按钮必须设置为选中

最简单的解决方案是使用键盘快捷键。这需要在每个单选按钮文本中的一个字符前面加上&字符

例如,如果单选按钮的文本为“&Big option”,则用户可以通过同时按[ALT]和B键来选择此选项

此外,一旦其中一个单选按钮具有焦点,您可以使用向上和向下箭头在它们之间导航。通常,用户可以使用[Tab]键在控件之间导航。在VS 2010中,可以通过选择查看->选项卡顺序菜单项来修改选项卡顺序

同样的键盘快捷键技巧也适用于许多其他控件。例如,如果文本框控件前面有标签控件,则可以在标签控件中的字母前面加上&。现在,由于标签(默认情况下)无法获取焦点,当用户使用标签的键盘快捷键时,焦点将移动到选项卡顺序中的下一个控件,即文本框


如果您想在使用[Tab]键时跳过控件,请将其TabStop属性设置为False。

谢谢您的详细回复。您说我可以在其中一个控件处于焦点时自动导航,但导航也位于WinForm上的其他控件上。这就是为什么我想使用我发布的代码。有什么想法吗?我不明白。你能给出一个对你不起作用的具体例子吗?什么样的例子?我没有编写代码,因为我不知道怎么做。如前所述,默认导航失败。除非您指定失败的原因,否则TnxI无法帮助您。”“默认导航失败”未提供任何信息。WinForms支持开箱即用的键盘导航,因此,如果它不起作用,则表单中会缺少某些内容。默认情况下,[Tab]键在控件之间导航,一旦您点击一组单选按钮中的第一个单选按钮,您可以使用向上/向下箭头在它们之间循环。然后,您可以随时使用[Tab]离开Radiobutton组。到底是什么不起作用?当我导航时,我不能按单选按钮的顺序循环。其次,导航发生在按钮上,这些按钮也存在于同一论坛上。非常感谢你。