VB.net 将多个列表框选定的项目转入单独的表单

问题描述 投票:0回答:1

甚至不确定我想做的事情是否可行。我的目标是让用户从列表框中选择多个项目。它们是文件名,并且能够在单独的表单上绘制文件中的数据。它获取该文件名并搜索路径以查找该文件名。例如,John 选择文件 ABC.csv 和 123.Csv,然后他将单击一个显示“绘图”的按钮,它会绘制这 2 个文件中的数据的叠加图。

我的列表框包含所有文件名,我尝试使用多个包含一项选择的列表框和 1 个包含多项选择的列表框。我当前可以毫无问题地绘制 1 个文件,并获取将 1 个文件发送到其他表单的代码。问题在于发送多个。 Ultimetley 我需要创建一个包含所选文件的“新”列表。然后我可以将“新”列表发送过来,正确吗?

objFileName.StringPassFileName = ""
ObjFileName.StringPassFileName = LstBoxSpectrumFiles.SelectedItem.ToString 
ObjFileName.Show() 
string vb.net parameter-passing listboxitem
1个回答
0
投票

大概您的

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

该代码适用于零个、一个或多个选定的文件。

© www.soinside.com 2019 - 2024. All rights reserved.