# Keyboard Navigation

## Content

**Input** controls support keyboard navigation. Navigation is available for controls such as **SplitButton**, **TextBox**, **Button**, **CheckBox**, **NumericEdit**, **RadioButton**, **ComboBox**, and **RangeSlider**.

| **Input Controls** | **Keyboard Shortcuts** |
| -------------- | ------------------ |
| Button | **Enter + Space:** Activates the focused button. |
| CheckBox | **Enter + Space:** Activates the focused checkbox.<br>**Enter:** Triggers the checkbox click action. |
| ComboBox | **Enter + Space:** Activates the focused control.<br>**Alt + Down:** Moves down through values.<br>**Alt + Up:** Moves up through values. |
| NumericEdit | **Enter + Space:** Activates the focused control.<br>**Alt + Down:** Moves down through values.<br>**Alt + Up:** Moves up through values.. |
| RadioButton | **Enter + Space:** Activates the focused radio button. |
| RangeSlider | **Up / Right:** Increments the slider value. |
| SplitButton | **Down / Left:** Decrements the slider value. |
| TextBox | **Alt + Down:** Displays the popup.<br>**Enter + Space:** Activates currently focused item.<br>**Esc:** Closes the popup. |
| DropDown | **Up:** Moves up through the list values.<br>**Down:** Moves down through the list values.<br>**Enter:** Displays the next item in the **TextBox**.<br>**Ctrl + Up:** Moves to the first item.<br>**Ctrl + Down:** Moves to the last item. |
| FontPicker | **Up:** Moves up through font values.<br>**Down:** Moves down through font values.<br>**Enter:** Displays the selected item in the **TextBox**. |

## Move Focus

This feature supports keyboard navigation between **Input** controls. The following properties control how focus moves to or from the control.

* **ExitOnLastChar**: moves focus from the **Input** control when the entered text reaches the maximum length defined by **MaxLength**, or when the mask is filled. The default value is **False**.
* **ExitOnLeftRightKey**: moves focus from the **Input** control when the **Left** or **Right** arrow keys are pressed. The default value is **None**.
* **TabStop**: determines whether the **TAB** key moves focus to the **Input** control from the previous control. The default value is **True**.

The following table lists the values and behavior of these properties.

| **Property** | **Possible Value** | **Description** |
| -------- | -------------- | ----------- |
| @rows=2:**ExitOnLastChar** | **True** | Moves focus from the **Input** control when the entered text reaches the **MaxLength** value or when the input mask is filled. |
| **False** | Keeps focus in the **Input** control even when the entered text reaches **MaxLength** or the mask is filled. |
| @rows=4:**ExitOnLeftRightKey** | **None** | Arrow keys do not move focus from the **Input** control. |
| **Left** | Moves focus to the control on the left when the **Left Arrow** key is pressed. |
| **Right** | Moves focus to the control on the right when the **Right Arrow** key is pressed. |
| **Both** | Moves focus to the adjacent control on the left or right depending on the arrow key pressed. |
| @rows=2:**TabStop** | **True** | Allows the **TAB** key to move focus to the **Input** control. |
| **False** | Prevents the **TAB** key from moving focus to the **Input** control. |

Use the following steps to configure focus‑navigation properties in the **Input** control.

1. Create a **Windows Forms Application** project. Add an **Input** control to the form.
2. In the **Properties** window, configure one or more of the following properties as required.
    * Set **ExitOnLastChar** to **True** or **False** to control whether focus moves when the entered text reaches the **MaxLength** limit.
    * Set **ExitOnLeftRightKey** to **Left**, **Right**, or **Both** to move focus when the corresponding arrow key is pressed.
    * Set **TabStop** to **True** or **False** to control whether the **TAB** key moves focus to the **Input** control.