0

我正在开发一个程序,我需要用户从 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 中,然后再操作数据?

4

0 回答 0