c# - 将 comboBox 设置为自定义显示格式

标签 c# winforms combobox properties

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

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

最佳答案

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

 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/

相关文章:

c# - 通过代码访问 Mahapps.Metro-icons

C#应用程序关闭问题

winforms - 无法转换类型为 'CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass' 的 COM 对象

android - Android 中的组合框

java - Vaadin ComboBox 文本颜色扩展

提交表单之前组合框选定的值发生更改

c# - .Net/SQL Server 竞争条件

c# - ajax调用 session 超时

c# - c#中的单元测试 Controller 方法

c# - 监控击键