2009-01-21 63 views
1

我試圖改變組合框是如何使用下面的代碼顯示:不能在WinForms的組合框更改DisplayMember

private void UpdateMapRoadPointList(List<GeographicAddress> plstMapRoadPointList) 
    { 
     cboFind.DataSource = plstMapRoadPointList; 
     cboFind.DisplayMember = "ShortCode"; 
     cboFind.ValueMember = ""; 
    } 

GeographicAddress是具有它返回一個字符串SHORTCODE屬性的類:

internal string ShortCode 
    { 
     get { return Distance + Carriageway; } 
    } 

但是,當使用應用程序時,disaplyed值仍然來自GeographicAddress.ToString()。在調試時,似乎cboFind.DisplayMember =「ShortCode」沒有任何作用! DisplayMember在執行該行之前和之後是「」!

我錯過了什麼?

回答

5
public string ShortCode 
    { 
     get { return Distance + Carriageway; } 
    } 

private void UpdateMapRoadPointList(List<GeographicAddress> plstMapRoadPointList) 
    { 
     cboFind.DataSource = plstMapRoadPointList; 
     cboFind.DisplayMember = "ShortCode"; 
    } 

這應該工作

設置ShortCode屬性爲公共或將失敗,並使用GeographicAddress.ToString()

+0

呀 - 所需要的屬性是公共的。傻我! – 2009-01-21 11:51:23

相關問題