首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何防止在列表框中添加特定重复词

如何防止在列表框中添加特定重复词
EN

Stack Overflow用户
提问于 2018-07-27 20:16:21
回答 1查看 45关注 0票数 -1

我不知道我是否可以防止添加特定的重复词,我不是在谈论项目

我说如果列表框中已经存在的话,就防止添加特定的单词,所以如果找到了这个特定的单词,就不会再添加它了,但同时可以把它换成另一个值为"Doby“

例如:

我有(1个文本框,1个列表框,1个按钮)

所以我在文本框中输入了"Dianna“,如果在列表框中找到了,那么它将阻止在列表框中添加重复的"Dianna”名称,但同时也会发生变化,从列表框中找到的唯一的"Dianna“字变成了"Doby”。

这有可能吗?我已经创建了代码,以检查它是否已经创建,但出现了问题(我无法阻止在同一ListBox中添加特定重复单词,也无法将特定单词"dianna“更改为"Doby")

代码语言:javascript
复制
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim One As String = Me.TextBox1.Text
    Dim Two As ListBox = Me.ListBox1
    ' Two.SelectedIndex = -1
    TextBox1.Text = "Doby"
    ListBox1.Items.Add(TextBox1.Text)
    If One.Length > 0 Then
        For Check As Integer = 0 To Two.Items.Count - 1
            If Two.Items(Check).ToString.Contains(One) Then
                ' Two.SelectedIndices.Add(Check)
            End If
        Next
    End If
End Sub
End Class

Forum Picture

对不起,我的英语太差了,谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 07:22:00

你的代码离正确还有一段距离,如果你看下面的示例,它写得有点冗长,但它的目的是试图帮助你跟踪正在发生的事情,然后你可以根据你喜欢的编码风格来缩短代码。

代码语言:javascript
复制
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    '
    Dim TextItem As Web.UI.WebControls.ListItem

    '-> load the inital list items
    TextItem = New Web.UI.WebControls.ListItem("Gen-Adams", "Gen-Adams")
    ListBox1.Items.Add(TextItem)
    TextItem = New Web.UI.WebControls.ListItem("Michael-Dianna", "Michael-Dianna")
    ListBox1.Items.Add(TextItem)
    TextItem = New Web.UI.WebControls.ListItem("Gessy-Kristen", "Gessy-Kristen")
    ListBox1.Items.Add(TextItem)
    '-> Init textboxes
    TextBox1.Text = ""
    TextBox2.Text = "Doby"

End Sub


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    '
    Dim Counta As Integer
    Dim Matched As Boolean
    Dim TmpListItem As Web.UI.WebControls.ListItem
    '
    '-> validate "look for" text
    If Trim(TextBox1.Text) <> "" Then
        '-> validate "replace with" text
        If Trim(TextBox2.Text) <> "" Then
            '-> if listbox contains items
            If ListBox1.Items.Count > 0 Then
                Matched = False
                For Counta = 0 To ListBox1.Items.Count - 1
                    'ListBox1.SetSelected(Counta, True)
                    TmpListItem = ListBox1.Items(Counta)
                    '-> try to search for text
                    If InStr(TmpListItem.Text, TextBox1.Text) > 0 Then
                        '-> search text DOES exist in listitem text
                        TmpListItem.Text = Replace(TmpListItem.Text, TextBox1.Text, TextBox2.Text)
                        ListBox1.Items(Counta) = TmpListItem
                        ListBox1.Refresh()
                        Matched = True
                    Else
                        'word not found in this list-item
                    End If
                Next
                If Not Matched Then
                    '-> No matches were found - add search word to list
                    TmpListItem = New Web.UI.WebControls.ListItem(TextBox1.Text)
                    ListBox1.Items.Add(TmpListItem)
                End If
            Else
                'The listbox is empty - do something here
                TmpListItem = New Web.UI.WebControls.ListItem(TextBox1.Text)
                ListBox1.Items.Add(TmpListItem)
            End If
        Else
            MsgBox("No replacement word entered!")
        End If
    Else
        MsgBox("No search word entered!")
    End If
    '-> Clear search/replacement textboxes
    TextBox1.Text = ""
    TextBox2.Text = ""
    '
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51557789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档