Reputation: 2661
I have 3 radio buttons on my WinForm.
I would like to give the user the option to navigate between them also by keyboard.
Is there a way to enable it?
I understand I have to use this code:
if (e.KeyChar==Convert.ToChar(Keys.Down))
But how do I know which single radio button I have to set as checked?
Upvotes: 3
Views: 3195
Reputation: 1000
The simplest solution is to use keyboard shortcuts. This entails prefixing one character in each RadioButton's text with the & character.
For example if the text of your radio button is "&Big option" then the user can select this option by pressing the [ALT] and B keys at the same time.
Additionally, once one of the radio buttons has the focus you can navigate between them by using the up and down arrows. In general, the user can navigate between controls by using the [Tab] key. In VS 2010 the tab order may be modified by selecting the View->Tab Order menu item.
The same keyboard shortcut trick works for many other controls. For example if you have a TextBox control preceded by a label control you can prefix a letter in the Label control with &. Now since the Label (by default) can't take the focus, when the user uses the Label's keyboard shortcut, the focus will move to the next control in the Tab Order i.e. the TextBox.
If you want a control to be skipped when using the [Tab] key set its TabStop property to False.
Upvotes: 4