从类对象列表中显示listBox.SelectedItems

时间:2019-04-16 08:43:49

标签: c# winforms class listbox

我有一个包含两个成员(名称和值)的类。然后,列出了从文本文件填充的类对象的列表,因此在name中有文本文件的名称,在val中有值。然后,使用该列表创建一个listbox,在其中显示所有名称。

我想做的是从listbox中选择多个选择(名称),然后将所有选择的val存储在另一个列表中。这有可能吗?

我尝试使用SelectedItems,但这似乎只存储类对象本身。出于某些原因:

foreach (object selectedItem in listBox1.SelectedItems)
{
    textBox1.AppendText(listBox1.SelectedValue.ToString() + Environment.NewLine);
}

显示所选项目的第一个值。如果我选择三个名称,并且第一个名称的值为4,则结果为4 4 4

1 个答案:

答案 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!这将是多选项目列表中的第一个