.NET ComboBox自动完成功能在斜杠上失败

时间:2009-03-26 13:25:43

标签: .net combobox autocomplete

.NET ComboBox自动完成功能不会完全自动完成,显示文本包含斜杠。它只完成斜杠,而SelectedIndex == -1和SelectedValue == null。

无论您的autocompletesource是否设置为ListItems而不是FileSystem或URL,这种行为都会愚蠢地存在。

是否有任何解决方法不涉及仅抛出ComboBox类并编写“MyComboBox”类?

3 个答案:

答案 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。他们的自动完成功能正常工作。微软应该真正解决这个问题,尽管它很痛苦。