如何使用热键选择组合框项目?

时间:2012-07-16 09:05:21

标签: wpf

在WPF中,我使用一个组合框来保存一个集合。我需要使用Ctrl +数字键选择每个项目。例如,如果组合框中有5个项目可用,则当用户按下Clt + 1,Clt + 2,Clt + 3,Clt + 4,Clt + 5时,所有这5个任务都应该是可访问的。 请建议。

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

 private void ComboBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyboardDevice.GetKeyStates(Key.LeftCtrl) != KeyStates.Down &&
             e.KeyboardDevice.GetKeyStates(Key.RightCtrl) != KeyStates.Down ||
            e.Key <= Key.D0 || e.Key > Key.D9) return;

        var combo = (ComboBox)sender;
        var idToSelect = e.Key - Key.D1;

        if (combo.Items.Count > idToSelect)
            combo.SelectedIndex = idToSelect;
    }

我已经在combobox上测试它作为处理程序,所以发送者是ComboBox,它需要专注于组合工作,但它可以根据您的需要进行修改。