我有一个WinForms comboBox,其中包含“区域”(我已经设置的自定义类)列表。每个Region具有属性NameAbbreviation等。我知道可以将comboBox设置为comboBox.DisplayMember = "Name";,但是我希望显示格式为"(" + Abbreviation + ") " + Name(例如(OR) Oregon)。

我知道我可以为此创建一个单独的属性(例如DisplayName),只需设置comboBox.DisplayMember = "DisplayName";,但是还有另一种方法吗? comboBox.DisplayMember = "(" + Abbreviation + ") " + Name;之类的东西?

最佳答案

您可以使用组合框的Format事件。

 private void comboBox1_Format(object sender, ListControlConvertEventArgs e)
    {
        string Name = ((yourClass)e.ListItem).Property1;
        string LastName = ((yourClass)e.ListItem).Property2;
        e.Value = Name + " " + LastName;
    }


希望有帮助,

关于c# - 将comboBox设置为自定义显示格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38192443/

10-12 00:11
查看更多