在多行文本框中搜索项目,然后在复选框列表框中检查相应的项目[VB.NET]

时间:2019-02-06 17:01:50

标签: vb.net-2010 checkedlistbox

您好,我无法使此代码正常工作。我试图从多行文本框中加载项目,然后在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 :(得分:0)

我自己解决了这个问题。我需要删除换行符。我是通过以下代码做到的。

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

结束班级