Как собрать определенную строку в любом месте элемента в ListBox? - PullRequest
0 голосов
/ 21 мая 2019

Я пытался выяснить, как собрать строку в любом месте списка, я использую Visual Basic 2010, и это больше запрос, но я нашел код, чтобы вы исправили код, который я нашел, или сообщите мне другой код для использования.

Я пытался использовать ListBoxName.Items.Contains, но это не сработало, я перепробовал много методов, и было бы трудно сказать все сразу.

        ' Split string based on space
        Dim textsrtring As String = ListBox.Text
        Dim words As String() = textsrtring.Split(New Char() {" "c})
        Dim found As Boolean = False

        ' Use For Each loop over words
        Dim word As String
        For Each word In words
            If ListBox.Items.Contains(word) Then
                found = True

                Exit For
            End If
        Next

        MessageBox.Show(found)

Они не были ошибками, появившееся окно сообщения продолжало сообщать мне ложь, и нет никакой строки, когда я ее четко вставил, никаких сообщений об ошибках.

1 Ответ

0 голосов
/ 21 мая 2019

Вам понадобится внутренний цикл, чтобы увидеть, содержится ли каждое слово в основной записи списка с помощью String.Contains ():

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim searchFor As String = TextBox1.Text.Trim
    If searchFor.Length > 0 Then
        Dim words As String() = searchFor.Split(New Char() {" "c})
        Dim found As Boolean = False
        Dim foundAt As Integer
        ' Use For Each loop over words
        Dim word As String
        For Each word In words
            For i As Integer = 0 To ListBox.Items.Count - 1
                If ListBox.Items(i).ToString.Contains(word) Then
                    found = True
                    foundAt = i
                    Exit For
                End If
            Next
            If found Then
                Exit For
            End If
        Next
        If found Then
            ListBox.SelectedIndex = foundAt
            Label1.Text = "Search string found."
        Else
            ListBox.SelectedIndex = -1
            Label1.Text = "Search string NOT found."
        End If
    Else
        ListBox.SelectedIndex = -1
        Label1.Text = "No search string."
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...