HandleTab

Introduction

HandleTab can be used to tab to the previous or next item which can receive focus. This is a manual way to force tabbing rather than relying on the built-in functionality. For information about how to execute automatic tabbing with gamepads, see the Forms and Xbox30GamePad tutorial.

Code Example - Tabbing to the Next Button

If a button has focus, it can pass focus to the next button. The following code shows how to do this using the keyboard:

// assume MyButton has focus:
var keyboard = InputManager.Keyboard;
if(keyboard.KeyPushed(Keys.Down) ||
    keyboard.KeyPushed(Keys.W) )
{
    MyButton.HandleTab(TabDirection.Down);
}
if(keyboard.KeyPushed(Keys.Up) ||
    keyboard.KeyPushed(Keys.S))
{
    MyButton.HandleTab(TabDirection.Down);
}

If your game has multiple elements which can be focused you can handle tabbing regardless of which element has focus as shown in the following code:

var keyboard = InputManager.Keyboard;
if (keyboard.KeyPushed(Keys.Up) ||
    keyboard.KeyPushed(Keys.W) )
{
    (InputManager.InputReceiver as FrameworkElement)?.HandleTab(TabDirection.Up);
}
if (keyboard.KeyPushed(Keys.Down) ||
    keyboard.KeyPushed(Keys.S))
{
    (InputManager.InputReceiver as FrameworkElement)?.HandleTab(TabDirection.Down);
}

Last updated