如何确定是否通过键盘或鼠标输入引发了combobox selectionchangemitted
问题描述:
我想要忽略组合框的SelectionChangeCommitted
事件上的上下箭头键,并且只允许鼠标允许选择。有谁知道如何做到这一点?如何确定是否通过键盘或鼠标输入引发了combobox selectionchangemitted
我需要一种方法来确定键或点击是否导致SelectionChangeCommitted
事件。我想我可以在一个鼠标点击事件中打开一个标志,并关闭一个键,但是我想知道是否有更简洁的方法?
答
您可以使用像这样的KeyDown
事件来抑制密钥;
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
}
答
您应该能够处理组合框的KeyPress
事件,并取消(e.Canceled = true;
)它。当您按下与项目首字母匹配的键时,这也会阻止组合框项目更改。