在c#windows应用程序中按Enter键选择组合框项目

时间:2011-10-13 11:03:14

标签: c# winforms

在c#中,我想通过键盘选择组合框项目,当我选择一个项目后应按Enter键。怎么做?

1 个答案:

答案 0 :(得分:1)

尝试这样的事情......,这将解释如何使用鼠标和键盘更改项目,....

我发现这种方法在所有条件下都能正常工作。但我不确定是否有比这种方法更准确的方法。

    bool IsMouse = false;

    private void cmbMy_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (IsMouse)
        {
            //Write the logic if selection is changed by mouse
        }
        else
        {
            //Write the logic if selection is changed by keyboard
        }

        IsMouse = false;
    }

    private void cmbMy_IsMouseCapturedChanged(object sender, DependencyPropertyChangedEventArgs e)
    {
        IsMouse = true;
    }

在组合框的isMouseCapturedChanged事件中,我将bool变量设为true,当选择更改了组合框时,我检查bool执行所需任务,然后将isMouse设置为false。

或者你需要建立自己的自定义组合框..

您需要构建一个自定义的ComboBox类并覆盖the Control.ProcessKeyEventArgs Method