c#自动完成组合框触发selectionchangecomited
本文关键字:selectionchangecomited 组合 | 更新日期: 2023-09-27 18:13:38
我有一个组合框的自动完成属性的问题。我想触发SelectionChangeCommited
事件,每次我选择一个项目使用自动完成,但它不工作。触发事件的唯一方式是当我使用鼠标单击并选择一个选项,或者当组合框聚焦并使用键盘上的箭头键时。如何使用自动完成属性实现此行为?
我的组合有这些属性设置:
AutoCompleteMode = SuggestAppend
AutoCompleteSource = ListItems
FormattingEnabled = True
我的组合中的项是用数据源设置的。
任何想法?由于
如果您想让它在您开始输入时注册一个更改:
从TextChanged事件中调用selectionchangecommitited事件
如果你从来没有这样做过,我可以在这里的。net论坛上找到最基本的例子。当然,这里显示的方法是通用的,但非常容易理解并应用于您的代码。
EDIT FIXED(截至最近的注释):
仍然将事件绑定在一起,但不是使用TextChanged,而是使用SelectedIndexChanged,当您使用鼠标选择自动建议的项时发生。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1_SelectionChangeCommitted(sender, e);
}
您可以使用一个技巧并调用comboBox1_SelectionChangeCommitted
验证事件
当组合框中的文本发生变化并且用户离开组合框时,它将被触发
private void comboBox1_Validated(object sender, EventArgs e)
{
comboBox1_SelectionChangeCommitted(sender, e);
}