从组合框,vb.net中的文本文件中获取字符串

时间:2016-11-02 04:30:37

标签: vb.net

这是我的代码: 我试图从TXT文件到组合框或标签有一些价值,但我觉得组合框会更容易。

这是我的代码:

请注意,有些config.txt只有1个值,而其他5-6

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim IDinFile As String
    Dim ID As String

    If IO.File.Exists("config.txt") Then

        Using StreamReader As New IO.StreamReader("config.txt")
            Do
                IDinFile = StreamReader.ReadLine
                If (IDinFile.IndexOf("7656")) <> -1 Then
                    ID = IDinFile.Substring(2)
                    ID = ID.Trim().Remove(ID.Length - 1)
                    ComboBox1.Items.Add(ID)
                    Exit Do
                End If
            Loop Until IDinFile Is Nothing
        End Using
    End If
End Sub

.png中的文件: https://i.stack.imgur.com/iYaqP.png

3 个答案:

答案 0 :(得分:1)

将第一个项目添加到组合框后,您有一个Exit Do语句。它不再继续检查更多行并将它们添加到组合框中。

你应该删除该声明。

答案 1 :(得分:1)

为您重新编写代码。错误地放置了问题Exit Do。此外,建议在进入循环之前检查线,而不是在循环结束时检查线。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim IDinFile As String
    Dim ID As String
    Const FILENAME As String = "config.txt"

    If IO.File.Exists(FILENAME) Then
        Using StreamReader As New IO.StreamReader(FILENAME)
            Do While StreamReader.Peek() >= 0
                IDinFile = StreamReader.ReadLine.Trim()
                If (IDinFile.IndexOf("7656")) <> -1 Then
                    ID = IDinFile.Substring(1, IDinFile.Length - 2)
                    ComboBox1.Items.Add(ID)
                End If
            Loop
        End Using
    End If

End Sub

答案 2 :(得分:0)

试试这个。如果在txt文件中逐行组织值,它将起作用。

    Dim srd as New StreamReader("config.txt")
    If io.file.exists("config.txt") then
    Dim str() = srd.ReadToEnd.split(environment.newline)
    For i = 0 to str.count-1
    Combobox.item.add(str(i))
    Next
    srd.close