我需要要求该程序的用户从任何目录中选择两个文本文件。然后我需要在列表视图中显示它们,我已经构建了它。文件1需要加载到第一列,文件2需要加载到第二列。它们将相互对应。
我目前有以下内容允许多选
OpenFileDialog.Multiselect = True
我遇到的问题是将这些独特的文件分成相应的列。例如,以下代码非常有效地将第一个文件的内容加载到第一列:
Dim fileName As String = OpenFileDialog.FileName
fileReader = New StreamReader(fileName)
Do While fileReader.Peek() <> -1
firstFile = fileReader.ReadLine & vbNewLine
ListView1.Items.Add(firstFile)
Loop
当我选择第二个文件时,第一个文件的内容将被同一列替换为第二个文件的内容。
我已经看过使用数组,但不确定如何将唯一文件加载到每个索引中。
我不确定从哪里开始。
答案 0 :(得分:3)
使用时
OpenFileDialog1.Multiselect = true
所有选定的文件都已存储为OpenFileDialog1.FileNames
中的集合,只需遍历所有值并将它们放入列表视图
ListView1.Items.Clear
Dim file as string
For Each file in OpenFileDialog1.FileNames
ListView1.Item.Add(file)
Next
如果您想在不同的列中显示文件内容,那么您可能需要更改一些代码
Dim fileName As String = OpenFileDialog.FileName
fileReader = New StreamReader(fileName)
Dim FileItem As New ListViewItem
Do While fileReader.Peek() <> -1
firstFile = fileReader.ReadLine & vbNewLine
FileItem .SubItem.Add(firstFile)
Loop
ListView1.item.add(Item)
但是,您可能需要在添加任何项目之前声明ListView1中的列。如果ListView1中没有列定义,那么即使您已将文件内容放入subItem,也无法显示列