【问题标题】:How to avoid adding duplicate items in a Combobox in VB?如何避免在 VB 的组合框中添加重复项?
【发布时间】:2015-04-28 23:03:29
【问题描述】:

我的表单上有一个组合框供用户在下拉框中选择项目,他们也可以输入自己的输入。我需要用户将项目添加到组合框而不添加已显示的重复项目。

例如: 组合框有一个犬种列表,例如(哈巴狗、拳击手、比特犬)。那么,当用户在组合框中输入“pug”时,我该如何不允许他们输入呢?

我正在使用 Visual Basic 进行编码, 谢谢!!!!

【问题讨论】:

  • 循环遍历combobox.items 看看值是否已经在里面
  • 那么我如何不允许用户输入所述值,当值重复时,我需要抛出一个异常来阻止它被添加。
  • 提供一些正在使用的代码可能会帮助人们帮助你
  • 您还可以查看模式设置为追加的自动完成列表。这样,如果他们键入“pug”并且 pug 在列表中,他们将到达“pu”并且 g 已经存在。也有助于捕捉未命中的咒语......

标签: vb.net combobox duplicates items


【解决方案1】:

使用代码

ComboBox1.items.clear()

在你的代码下

【讨论】:

    【解决方案2】:

    我试过了。这行得通。

    而且我只是假设您在输入 重复值 时需要一个异常。以下是代码,它位于 Combobox1.Validating 事件中。

    Private Sub ComboBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ComboBox1.Validating
            For Each item As String In ComboBox1.Items
                If item.ToLower.Contains(ComboBox1.Text.ToLower) Then
                    MsgBox("Duplicate value: there's already '" & item & "' in the list. Please select from the list.", MsgBoxStyle.Exclamation, "Dog Breed")
                    ComboBox1.Text = ""
                    Exit For
                End If
            Next
        End Sub
    

    有关 Validating 事件的更多信息,请自行搜索。谢谢!

    【讨论】:

    • 是的,这正是我想要的;它工作得很好。感谢您的协助!
    • @MattC:好的。没问题。
    猜你喜欢
    • 2017-10-20
    • 2017-08-07
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2020-09-23
    • 2011-11-11
    • 2018-11-12
    • 1970-01-01
    相关资源
    最近更新 更多