从列表框项获取值

本文关键字:获取 列表 | 更新日期: 2023-09-27 18:10:03

我正在尝试使用c# (winforms)从列表框中的所有项目中获取值。我有一个包含多个项目的组合框,这是从数据源填充的,当我在组合中提交选择时,我希望这些值存储在列表框中。

IQueryable clientes = getcompanies();
combo1.DataSource = companies;
combo1.DisplayMember = "name";
combo1.ValueMember = "id";
 private void combo1_SelectionChangeCommitted(object sender, EventArgs e)
    {
        listBox1.Items.Add(combo1.SelectedItem);
        listBox1.DisplayMember = "name";
        listBox1.ValueMember = "id";
    }
public IQueryable getcompanies()
    {
        var company= from c in context.companies
                       select new
                       {
                           c.id,
                           name= c.fname+" "+ c.lname
                       };
        return company;
    }

我对这段代码没有问题,当我从组合中选择一个项目时,它被添加到列表框中,只有displaymember属性是可见的,正如我想要的。问题是,我不知道如何从列表框中的所有项目获得所有valuemember属性。什么好主意吗?

从列表框项获取值

如果你这样做。

var items = ((List<string>)listBox1.Items);

您需要将List更改为公司的数据类型

然后您应该能够使用foreach循环遍历条目,然后您可以像正常的

那样访问属性id。

关于stackoverflow的问题:获取匿名类型