在我正在處理的應用程序中,我需要維護當前已加載的項目列表,並在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