gpt4 book ai didi

.net - 使用 ComboBox 的自动完成功能,同时将值限制为列表中的值?

转载 作者:行者123 更新时间:2023-12-02 20:13:20 26 4
gpt4 key购买 nike

在 WinForms 2.0 中,组合框具有自动完成功能,可显示自定义下拉列表,其中仅包含以输入文本开头的值。

但是,如果我想将有效值限制为仅出现在 ComboBox 的项目列表中的值,我可以通过将 DropDownStyle 设置为 DropDownList 来实现,这阻止用户输入值。

但是,现在我无法使用自动完成功能,该功能需要用户输入。

是否有其他方法可以限制对列表的输入,同时仍然允许使用自动完成功能?请注意,我已经看到了一些针对此问题的自定义解决方案,但我真的很喜欢匹配的自动完成项目在下拉列表中显示并排序的方式,即使原始列表可能不是这样。

编辑:我考虑过仅验证输入的值,即测试用户输入是否在 TextChanged 事件中有效,甚至使用 Validating事件。那么问题是预期的行为是什么?我是否清除它们的值(空值也是无效的),还是使用默认值?最接近的匹配值?

P.s.我可以为这个问题添加任何其他标签吗?

最佳答案

这个解决方案对我有用:

Private Sub myComboBox_Validating(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles myComboBox.Validating
If Not myComboBox.Items.Contains(myComboBox.Text) Then
MsgBox("Please select a value from the list", MsgBoxStyle.Exclamation, "Value not available")
e.Cancel = True
End If
End Sub

关于.net - 使用 ComboBox 的自动完成功能,同时将值限制为列表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com