在WinForms 2.0中,ComboBox具有自动完成功能,该功能显示自定义下拉列表,其中仅包含以输入文本开头的值.
但是,如果我想将有效值限制为仅显示在ComboBox项目列表中的值,我可以通过设置DropDownStyle
to DropDownList
来阻止用户输入值.
但是,现在我无法使用需要用户输入的自动完成功能.
是否有其他方法可以限制输入到列表,同时仍然允许使用自动完成功能?请注意,我已经看到了一些针对此的自定义解决方案,但我真的很喜欢匹配的自动完成项目在下拉列表中显示的方式,并且即使原始列表可能不是这样排序的.
编辑:我已经考虑过验证输入的值,即测试用户输入是否在TextChanged
事件中有效,甚至是使用Validating
事件.那么问题是预期的行为是什么?我是否清除它们的值(空值也无效),还是使用默认值?最接近的匹配值?
Ps我可以在这个问题上添加任何其他标签吗?