在SuggestAppend自动完成模式下获取组合框中剩余的项目数

时间:2015-12-20 10:41:12

标签: c# winforms combobox autocomplete

我有一个带有AutoCompleteMode = SuggestAppend和AutoCompleteSource = ListItems的组合框。

在SuggestAppend中,当用户输入字符时,列表框控件将自动过滤。

我想在用户输入期间获取列表框中的项目数。 在开始时,列表框已完全填充。

我尝试了以下操作,但它总是返回组合中的项目数,而不是列表框中已过滤项目的数量

int count = ItemsComboBox.Items.Count.ToString();

1 个答案:

答案 0 :(得分:0)

这对我有用,但我将AutoCompleteMode = SuggestAppend更改为AutoCompleteMode = Suggest

Public Class Form2

  Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Me.ComboBox1.Text = ""
    Me.ComboBox1.Items.Add("a")
    Me.ComboBox1.Items.Add("aaa")
    Me.ComboBox1.Items.Add("combo")
    Me.ComboBox1.Items.Add("combobox")
    Me.ComboBox1.Items.Add("combobox test")
    Me.ComboBox1.Items.Add("common")
    Me.ComboBox1.Items.Add("common dialog")
  End Sub

  Private Sub ComboBox1_TextChanged(sender As Object, e As System.EventArgs) Handles ComboBox1.TextChanged
    Dim count As Integer = 0

    For Each op As String In ComboBox1.Items
      If (op Is Nothing OrElse op.Length < ComboBox1.Text.Length) Then
        Continue For
      End If
      If (ComboBox1.Text = op.Substring(0, ComboBox1.Text.Length)) Then
        count += 1
      End If
    Next

    Label1.Text = count
  End Sub

End Class