hi everybody I want used shortcut key (using left and right key) in wpf and tabcontrol to navigation between tabitem
I set code in Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
like this:
switch (e.Key)
{
case Key.Right:
if (tbControl.TabIndex == 0)
tbControl.TabIndex = 1;
break;
case Key.Left:
if (tbControl.TabIndex == 0)
tbControl.TabIndex = 1;
break;
}
but it's not do anything I want navigation between tabitem with left and right key thanks
You are using TabControl.TabIndex
when you should be using TabControl.SelectedIndex
, like so:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Right:
if (tbControl.SelectedIndex == 0)
tbControl.SelectedIndex = 1;
break;
case Key.Left:
if (tbControl.SelectedIndex == 1)
tbControl.SelectedIndex = 0;
break;
}
}
TabIndex
is common to all controls, and represents the order in which controls are focused when the user presses the Tab key. SelectedIndex
is specific to selector controls (e.g. TabControl
, ListBox
, ComboBox
, etc.) and represents the index of the currently selected item in said control.
Also, if you wanted this to work with more than two tabs, I would change your case
statements to something more like this:
case Key.Right:
if (tbControl.SelectedIndex < tbControl.Items.Count - 1)
tbControl.SelectedIndex++;
break;
case Key.Left:
if (tbControl.SelectedIndex > 0)
tbControl.SelectedIndex--;
break;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With