Ищите элементы в многострочном текстовом поле, а затем проверяйте соответствующие элементы в списке проверенных, если они найдены [VB.NET] - PullRequest
0 голосов
/ 06 февраля 2019

Здравствуйте. У меня проблемы с настройкой кода.Я пытаюсь загрузить элементы из многострочного текстового поля, затем найти их в CheckedListBox и проверить их, если они найдены.

В моем CheckedListBox есть 4 элемента.Красный Зеленый Черный Синий

Мое текстовое поле содержит 2 элемента.Зеленый Синий

Моя проблема в том, что когда я использую приведенный ниже код, он возвращает 1 (Зеленый), 0 (Красный) и 3 (Синий).Он не должен возвращать 0 (красный)

Почему он это делает и как я могу остановить его возвращение 0?

Я попытался изменить TextBox2.Text.Split () на TextBox2.Text.Split (vbNewLine), но это не работает.

Спасибо!

Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    For Each strLine As String In TextBox2.Text.Split()
        Dim i As Integer = CheckedListBox1.FindString(strLine)
        CheckedListBox1.SelectedIndex = i
        CheckedListBox1.SetItemChecked(i, True)
        MsgBox(i)
    Next
End Sub

Конечный класс

1 Ответ

0 голосов
/ 06 февраля 2019

Я решил проблему сам.Мне нужно было удалить разрывы строк.Я сделал это с помощью следующего кода.

Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    For Each strLine As String In TextBox2.Text.Split(vbNewLine)
        Dim i As Integer = CheckedListBox1.FindString(strLine)
        CheckedListBox1.SelectedIndex = i
        CheckedListBox1.SetItemChecked(i, True)

    Next
End Sub

Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
    TextBox2.Text = Replace(TextBox2.Text, vbLf, "")
End Sub

Конечный класс

...