📜  c# binding add combobox with enum values - C# Code Example(1)

📅  最后修改于: 2023-12-03 14:39:42.394000             🧑  作者: Mango

C# Binding - 在ComboBox中加入枚举值

在C#应用程序开发中,有时我们需要在ComboBox中展示枚举类型的值。本文将通过代码示例介绍如何使用数据绑定的方式,在ComboBox中加入枚举类型的值。

准备工作

首先我们需要一个枚举类型,用于作为ComboBox中的数据源:

public enum DaysOfWeek
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

接着,我们需要在窗体设计器中加入一个ComboBox控件。在属性窗格中,我们需要将ComboBox的DataSource属性绑定到我们刚定义的枚举类型。

this.comboBox1.DataSource = typeof(DaysOfWeek);

如果我们现在运行程序,发现ComboBox中的值是由枚举类型的标识符组成的。接下来,我们需要重写ComboBox的显示文本的方法,以便能够显示枚举类型的名称。

绑定ComboBox的显示文本

为了让ComboBox显示枚举类型的名称,我们需要设置ComboBox的DisplayMember属性。DisplayMember属性表示ComboBox中每个项的显示文本。

this.comboBox1.DisplayMember = "Name";

接着,我们需要重写枚举类型的ToString()方法,以便能够返回枚举类型的名称。ToString()方法是在每次ComboBox绑定数据源时调用的。

public override string ToString()
{
    return Enum.GetName(typeof(DaysOfWeek), this);
}

现在,我们再次运行程序,发现ComboBox中的值已经变成了枚举类型的名称。

总结

在本文中,我们通过数据绑定的方式,在ComboBox中加入了枚举类型的值,并让ComboBox能够正确地显示枚举类型的名称。通过掌握这种方法,我们可以更加灵活地组织应用程序的界面,提高我们的开发效率。