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

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

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

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

我尝试过SelectedItems,但似乎只存储了类对象本身。出于某种原因,尽管如此:

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

显示所选项目的第一个值。如果我选择三个名称,其中第一个的值为4,结果是4 4 4

c# winforms class listbox
1个回答
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!这将是多个选定项目列表中的第一个

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