带有子项的 WinForms Combobox DataSource Class

WinForms Combobox DataSource Class with sub items

我有两个 classes 来自 json 请求

public class User
{
    public string id { get; set; }
    public string name { get; set; }
}

public class PointUser
{
    public int PointUserId { get; set; }
    public string userId { get; set; }
    public User user { get; set; }
    public string notes { get; set; }
}

我将 class PointUser 的列表对象绑定到组合框。如何在我的组合框中显示子 class 用户字段?

cmbPointUser.DataSource = ObjListPointUsers;
cmbPointUser.ValueMember = "PointUserId";
cmbPointUser.DisplayMember = "?????"; // fild "name" from sub class User    

您有两个选择:

1) 在 PointUser class 和 return 子 属性 User.Name 中覆盖 ToString() 方法。不要定义 属性 DisplayMember

2) 在 class PointUser 中创建一个 属性 和 return 子 属性 User.Name。之后在 DisplayMember 中调用此 属性。