C# 将Windows窗体ComboSox数据源设置为列表中对象的特定属性

C# 将Windows窗体ComboSox数据源设置为列表中对象的特定属性,c#,winforms,combobox,toolstrip,C#,Winforms,Combobox,Toolstrip,我有一份账户清单: List<Account> accountList; 您可以按如下方式使用DataSource属性。此处id是要在组合框中显示的属性名称 toolStripComboBox1.ComboBox.DataSource = Bank.Bankaccountlist; toolStripComboBox1.ComboBox.DisplayMember = "id"; 您可以使用foreach循环将ID添加到组合框中: foreach (Account account

我有一份账户清单:

List<Account> accountList;

您可以按如下方式使用DataSource属性。此处
id
是要在组合框中显示的属性名称

toolStripComboBox1.ComboBox.DataSource = Bank.Bankaccountlist;
toolStripComboBox1.ComboBox.DisplayMember = "id";

您可以使用foreach循环将
ID
添加到组合框中:

foreach (Account account in accountList) 
{
    comboboxName.Items.Add(account.id);
}
如果希望在应用程序开始时添加项,请在forms类的构造函数中编写代码:

public Form1()
{
    InitializeComponent();
    WriteIdIntoCombobox();
}

我将foreach放入
WriteIdIntoCombobox()
方法中,以便在需要时可以在代码中的其他地方调用它。

谢谢您的帮助。遗憾的是,它不起作用,它只显示“\u 012\u Bank\u program\u Forms.Account”<代码>toolStripComboBox1.ComboBox.DisplayMember=“id”什么都不做,如果我把它注释掉,它也会做同样的事情。您设置了显示成员属性了吗?显示“\u 012\u Bank\u program\u Forms.Account”表示该项目属于该类型。在此处设置DisplayMember应该有效。如果可能,您可以在此处共享代码吗?发布您的
帐户
定义,并解释何时调用
帐户
构造函数,调用它的内容,什么是
银行
,为什么
Bankaccountlist
static
,为什么
Account
对象应该知道它的存在。@Jimi
Account
Bank
也是不同的类。我不知道为什么
Bankaccountlist
必须是
静态的
,但是我的所有其他代码只有在
静态的时候才起作用。我在
银行
中有一个
函数
,它创建了一个
账户
,但我在
账户
中定义了
账户
。我不应该将
构造函数
命名为相同的、相当愚蠢的名称。类构造函数需要与它构建的类对象具有相同的名称。这不是重点。看起来
Bank
是一个表单,您将该集合设置为静态集合,以便在其他一些类中使用它,而不使用数据绑定或传递引用。如果
Bank.Bankaccountlist
(静态或非静态,构建是否糟糕)是
Account
对象的集合,则不可能设置组合框数据源,如果Account对象具有
id
属性且
DisplayMember
设置正确,则最终会将这些
\u 012\u Bank\u Programm\u表单.Account
显示为项目文本。
public Form1()
{
    InitializeComponent();
    WriteIdIntoCombobox();
}