VB.Net中的多选择文件数组

VB.Net中的多选择文件数组,vb.net,openfiledialog,Vb.net,Openfiledialog,我正在开发一个程序,需要用户从OpenFileDialog中选择两个文件。我不想将文件名或路径硬编码到程序中。我需要将这些文件的内容显示在列表框中的两列中 到目前为止,我有以下代码: OpenFileDialog.ShowDialog() OpenFileDialog.Filter = "Text Files(.txt)|*.txt" OpenFileDialog.Title = "Open A Text File" OpenFileDialog.Multiselect

我正在开发一个程序,需要用户从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
OpenFileDialog.ShowDialog()
OpenFileDialog.Filter=“文本文件(.txt)|*.txt”
OpenFileDialog.Title=“打开文本文件”
OpenFileDialog.Multiselect=True
Dim FileArray(1)作为字符串
Dim objreader作为新System.IO.StreamReader(OpenFileDialog.FileName)
尺寸i=0
ListBox1.Items.Clear()
ListBox1.Items.Add(“Name”&空格$(40)&ID号”)
Do While objreader.Peek()-1
如果OpenFileDialog.FileNames.Length=5,则
FileArray(0)=objreader.ReadLine和vbCr
其他的
FileArray(1)=objreader.ReadLine和vbCr
如果结束
ListBox1.Items.Add(FileArray(0)&Space$(40)&FileArray(1))
环
我认为正在发生的是,第一个选定的文件“Names.txt”被送入FileArray(0)(因为文件名的长度为5个字符),然后被填充到列表框中的正确列中

但是,当第二次循环时,第二个文件“IDNumbers.txt”将被读取并填充到FileArray(1)中(因为它未通过“If”),并且将覆盖列表框中的第一个数组


我的问题是如何将每个文件加载到我的FileArray(1)中它自己的元素中,这样我就可以将它们正确地加载到列表框中,然后再对数据进行操作?

因此,本周您使用的是列表框而不是列表视图:-(本着少数派报告中预编程序的精神)我今天将回答下周的问题,使用DataGridView控件。只需将文本文件内容读入DataTable,然后读入DataGridView1.DataSource=DataTable,