下面是我的代码:我正在尝试将TXT文件中的值输出到combobox或label,但我觉得combobox会更容易一些。
这是我的密码:
请注意,一些config.txt将只有一个值,而其他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中的文件
发布于 2016-11-02 09:30:35
给你重新写代码。问题是把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发布于 2016-11-02 04:54:10
在将第一项添加到组合框后,将有一条Exit Do语句。它不再继续检查更多的行并将它们添加到组合框中。
你应该把那句话删掉。
发布于 2016-11-02 06:24:18
尝尝这个。如果这些值是在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.closehttps://stackoverflow.com/questions/40372515
复制相似问题