C#使用对象列表来填充组合框并保持对象属性的可访问性

本文关键字:对象 属性 访问 列表 组合 填充 | 更新日期: 2023-09-27 18:26:33

我在用列表中的值填充组合框时遇到了一些困难。该列表包含以下内容。

public List<Classroom> classes= new List<Classroom>();

包含:

public List<Students> Members{ get;}
public Classroom(string naam, string code, int maxPersonen)
{
    Name= name;
    Code = code;
    MaxPeople= maxpeople;
    Members= new List<Members>();
}

我正在尝试用List类填充我的组合框,并将这些类中的每一个显示如下(目前正在使用此):

foreach(Classroom classrooom in repository.classes)
{
    cmbClass.Items.Add(classroom.Name + " (" + classroom.Code + ")");
}

我想像这样直观地显示它们,但仍然可以访问所选教室的其他所有属性(使用时)。

希望这是足够清楚的理解!提前感谢!

C#使用对象列表来填充组合框并保持对象属性的可访问性

您需要将列表作为数据源绑定到组合框,而不是逐个添加。并且,将只读属性DisplayName添加到教室,以返回Name+"("+Code+")"将其用作显示值。您可以添加数据源,设置显示值,所选项属性将返回对象。

    cmbClass.DataSource = classes;
    cmbClass.DisplayMember = classroom.DisplayName; 

引用-组合框类:https://msdn.microsoft.com/en-us/library/system.windows.forms.combobox%28v=vs.110%29.aspx