如何确定是否通过键盘或鼠标输入引发了combobox selectionchangemitted

问题描述:

我想要忽略组合框的SelectionChangeCommitted事件上的上下箭头键,并且只允许鼠标允许选择。有谁知道如何做到这一点?如何确定是否通过键盘或鼠标输入引发了combobox selectionchangemitted

我需要一种方法来确定键或点击是否导致SelectionChangeCommitted事件。我想我可以在一个鼠标点击事件中打开一个标志,并关闭一个键,但是我想知道是否有更简洁的方法?

您可以使用像这样的KeyDown事件来抑制密钥;

private void comboBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     e.SuppressKeyPress = true; 
    } 

您应该能够处理组合框的KeyPress事件,并取消(e.Canceled = true;)它。当您按下与项目首字母匹配的键时,这也会阻止组合框项目更改。