在我正在处理的应用程序中,我需要维护当前已加载的项目列表,并在ListBox中显示每个项目的名称(好吧,多个ListBoxes,但这两者都不是这里或那里)。将绑定列表绑定到列表框的问题
class Project
{
public String Name;
// Etc. etc...
}
我有它包含了所有的加载项目的的BindingList对象,我将它绑定到我的列表框(ES)。
private BindingList<Project> project_list = new BindingList<Project>();
private ListBox project_listbox;
private void setList()
{
project_listbox.DisplayMember = "Name";
project_listbox.ValueMember = "Name";
project_listbox.DataSource = project_list;
}
但是当我这样做,是被显示在project_listbox
全部是一组项目的类名。我在这里错过了什么吗?关于将List绑定到ListBox的每个引用都使用了非常类似的设置。
默认情况下,列表框将调用toString()在你的类显示值。你可以轻松实现public Override ToString()并返回Name作为字符串结果。 – 2009-12-16 21:13:33
如果你想让一个属性成为ValueMember,那么这是一个糟糕的解决方案,尽管:)你仍然需要制作一个{get;私人设置}。否则,ValueMember将无法使用。 – CasperT 2009-12-16 21:21:25