C# WinForms: 我使用了具有这些属性的组合框: DropDownStyle: 下拉 AutoCompleteSource:ListItems 自动完成模式:建议追加
现在当我输入组合框时,它会从其项目列表中建议项目。很好。但问题是我不希望能够键入任何我想要的内容,我只想能够从其列表中的有效项目中进行键入。我该如何修复这部分?
谢谢。
最佳答案
您必须使用您的值填充Items 列表(手动或通过数据绑定(bind)),然后将DropDownStyle 设置为DropDownList
.
组合框看起来不像文本框,但当它有焦点时,在其中输入内容会自动从项目列表中选择最佳匹配项。
(这是将组合框设置为不允许自定义文本的推荐方法。)
或者,如果您希望样式为 DropDown,请捕获控件的 KeyPress
事件,然后快速检查控件的文本加上 e.KeyChar
,如果在列表中找不到,则设置 e.Handled = True
。这将阻止所有会产生不在列表中的单词的按键。
关于c# - 有一个不允许自定义文本的自动完成组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637582/