我正在开发一个程序,我需要用户从OpenFileDialog中选择两个文件。我不想将文件名或路径硬编码到程序中。我需要这些文件的内容显示在列表框中的两列中。
到目前为止,我有以下代码:
OpenFileDialog.ShowDialog()
OpenFileDialog.Filter = "Text Files(.txt)|*.txt"
OpenFileDialog.Title = "Open A Text File"
OpenFileDialog.Multiselect = True
Dim FileArray(1) As String
Dim objreader As New System.IO.StreamReader(OpenFileDialog.FileName)
Dim i = 0
ListBox1.Items.Clear()
ListBox1.Items.Add("Name" & Space$(40) & "ID Number")
Do While objreader.Peek() <> -1
If OpenFileDialog.FileNames.Length = 5 Then
FileArray(0) = objreader.ReadLine & vbCr
Else
FileArray(1) = objreader.ReadLine & vbCr
End If
ListBox1.Items.Add(FileArray(0) & Space$(40) & FileArray(1))
Loop
我认为发生的是第一个选择的文件,'Names.txt'被送入FileArray(0)(因为文件名的长度是5个字符),然后被填充到正确的列中列表框。
然而,当它第二次循环时,第二个文件'IDNumbers.txt'被读取并填充到FileArray(1)中(因为它未通过'If')并且覆盖列表框中的第一个数组。
我的问题是如何在FileArray(1)中将每个文件加载到自己的元素中,这样我就可以将它们正确加载到ListBox中,然后再操作数据?