【问题标题】:Show listBox.SelectedItems from a list of class objects从类对象列表中显示 listBox.SelectedItems
【发布时间】:2019-04-16 08:43:49
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 如何将您的物品放入listBox ?数据绑定?还是你把它填在一个循环里?您是否在自定义类中覆盖了 ToString() 方法?

标签: c# winforms class listbox


【解决方案1】:

您需要使用“两个成员”将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!这将是多选项目列表中的第一个

【讨论】:

    猜你喜欢
    • 2013-04-03
    • 2018-10-20
    • 2020-03-22
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多