我正在尝试使用以下代码更改组合框的显示方式:
private void UpdateMapRoadPointList(List<GeographicAddress> plstMapRoadPointList)
{
cboFind.DataSource = plstMapRoadPointList;
cboFind.DisplayMember = "ShortCode";
cboFind.ValueMember = "";
}
GeographicAddress 是一个具有返回字符串的 ShortCode 属性的类:
internal string ShortCode
{
get { return Distance + Carriageway; }
}
但是,在使用该应用程序时,显示的值仍然来自 GeographicAddress.ToString()。在调试时,似乎 cboFind.DisplayMember = "ShortCode"没有效果! DisplayMember 在执行该行之前和之后都是 ""!
我错过了什么?
最佳答案
public string ShortCode
{
get { return Distance + Carriageway; }
}
private void UpdateMapRoadPointList(List<GeographicAddress> plstMapRoadPointList)
{
cboFind.DataSource = plstMapRoadPointList;
cboFind.DisplayMember = "ShortCode";
}
这应该可行
将 ShortCode
属性设置为 Public,否则将失败并使用 GeographicAddress.ToString()
关于c# - 无法在 WinForms ComboBox 中更改 DisplayMember,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/464911/