0

我需要要求该程序的用户从任何目录中选择两个文本文件。然后我需要在我构建的列表视图中显示它们。文件 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

当我选择第二个文件时,第一个文件的内容在同一列中被第二个文件的内容替换。

我看过使用数组,但不确定如何将唯一文件加载到每个索引中。

我真的不知道从这里去哪里。

4

1 回答 1

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,也无法显示列

于 2012-04-19T01:42:23.140 回答