甚至不确定我想做的事情是否可行。我的目标是让用户从列表框中选择多个项目。它们是文件名,并且能够在单独的表单上绘制文件中的数据。它获取该文件名并搜索路径以查找该文件名。例如,John 选择文件 ABC.csv 和 123.Csv,然后他将单击一个显示“绘图”的按钮,它会绘制这 2 个文件中的数据的叠加图。
我的列表框包含所有文件名,我尝试使用多个包含一项选择的列表框和 1 个包含多项选择的列表框。我当前可以毫无问题地绘制 1 个文件,并获取将 1 个文件发送到其他表单的代码。问题在于发送多个。 Ultimetley 我需要创建一个包含所选文件的“新”列表。然后我可以将“新”列表发送过来,正确吗?
objFileName.StringPassFileName = ""
ObjFileName.StringPassFileName = LstBoxSpectrumFiles.SelectedItem.ToString
ObjFileName.Show()
大概您的
StringPassFileName
成员属于 String
类型。您可以更改类型以支持多个 Strings
,因此请使用 String[]
或 IEnumerable(Of String)
或类似的东西。
首先,我认为这个名字很糟糕。几乎可以肯定它应该是
FileName
,或者对于多个,FileNames
。它也应该是一个属性而不是一个字段,如果情况还不是这样的话,例如
Public Property FileNames As IEnumerable(Of String)
然后你可以这样设置:
objFileName.FileNames = LstBoxSpectrumFiles.SelectedItems.Cast(Of String)()
然后你可以像这样使用它:
If FileNames IsNot Nothing Then
For Each fileName In FileNames
Dim filePath = IO.Path.Combine(folderPath, fileName)
'Use filePath here.
Next
End If
该代码适用于零个、一个或多个选定的文件。