.NET ComboBox自动完成功能不会完全自动完成,显示文本包含斜杠。它只完成斜杠,而SelectedIndex == -1和SelectedValue == null。
无论您的autocompletesource是否设置为ListItems而不是FileSystem或URL,这种行为都会愚蠢地存在。
是否有任何解决方法不涉及仅抛出ComboBox类并编写“MyComboBox”类?
答案 0 :(得分:1)
看起来MS很清楚这种行为。我怀疑你在他们的文档页面上看过这个说明,如果不是它的链接是here。
答案 1 :(得分:0)
@ hal9000我也在寻找修复程序,我在msdn网站上找到了Paul Cull的一段代码:
Private Sub cbCode_Validating(sender As Object, e As
System.ComponentModel.CancelEventArgs) Handles cbCode.Validating
Dim s As String
If cbCode.SelectedIndex = -1 And cbCode.Text <> "" Then
' Let's see if it ends with a slash
s = cbCode.Text
If s.EndsWith("\") Or s.EndsWith("/") Then cbCode.SelectedIndex = cbCode.FindString(s)
End If
End Sub
答案 2 :(得分:0)
我能找到的最简单的解决方案是从 syncfusion.com 下载 syncfusion 的免费社区 winforms 控件包并使用他们的 sfCombobox。他们的自动完成功能正常工作。微软应该真正解决这个问题,尽管它很痛苦。