我有一个包含两个成员(名称和值)的类。然后,列出了从文本文件填充的类对象的列表,因此在name
中有文本文件的名称,在val
中有值。然后,使用该列表创建一个listbox
,在其中显示所有名称。
我想做的是从listbox
中选择多个选择(名称),然后将所有选择的val
存储在另一个列表中。这有可能吗?
我尝试使用SelectedItems
,但这似乎只存储类对象本身。出于某些原因:
foreach (object selectedItem in listBox1.SelectedItems)
{
textBox1.AppendText(listBox1.SelectedValue.ToString() + Environment.NewLine);
}
显示所选项目的第一个值。如果我选择三个名称,并且第一个名称的值为4
,则结果为4 4 4
答案 0 :(得分:0)
您需要将“ selectedItem
”与“两个成员”一起转换为您的班级。然后,您可以选择Value
:
foreach (object selectedItem in listBox1.SelectedItems)
{
MyClass item = (MyClass)selectedItem
textBox1.AppendText(item.Value.ToString() + Environment.NewLine);
}
如果我选择三个名称,并且其中第一个名称的值为4,则结果为4 4 4
之所以会这样,是因为您没有使用循环中的迭代变量,而是始终使用相同的listBox1.SelectedValue
!这将是多选项目列表中的第一个