将多个文件读入列表视图VB.Net

问题描述:

我需要该程序的用户从任何目录中选择两个文本文件。然后我需要在列表视图中显示它们。文件1需要加载到第一列,文件2需要加载到第二列。他们将相互对应。将多个文件读入列表视图VB.Net

目前,我有以下的,允许多选

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

0123只是谷歌这个:Dim subItem = ListView1.Items(i).SubItems.Insert(i,subItem) – 2012-04-19 03:06:35

当您使用

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中没有定义列,那么即使你已经将文件内容放入子项目中,也不可能显示这些列。

+0

这对于添加文件的完整路径非常合适,但是它只是在列表视图的第一列中的每一行上放置一个。 我在找什么是如何将文件内容放入不同的列 – Phoenix 2012-04-19 02:28:31

+0

所以你想把文件名放在一行的单独列中?我不确定你的意思是什么文件内容 – Nick 2012-04-19 02:36:36

+0

对不起,我想我不是很清楚。文件1包含一个名称,文件2包含一个ID号码。通过选择文件1和文件2,该名称应显示在一列中,而第二列中显示ID编号,但两者都在同一行上,因此它们似乎是相关的。 – Phoenix 2012-04-19 02:49:41