使用枚举绑定组合框选择值

时间:2011-03-22 03:46:19

标签: c# winforms

我无法绑定组合框选择值。

 public void InitializePage()
 {          
    cbStatus.DataSource = Enum.GetValues(typeof(CourseStudentStatus));
 }

在我的构造函数

 public EditCourseForm(int status)
 {
     InitializePage();                      
     cbStatus.SelectedText = Enum.GetName(
        typeof(CourseStudentStatus), status).ToString();         
 }

我也试过这个。 cbStatus.SelectedValue = Status

但是我无法在ComboBox上设置SelectedValue。

更新 我的枚举

 public enum CourseStudentStatus
{
    Active = 1,
    Completed = 2,
    TempStopped = 3,
    Stopped = 4,
}

3 个答案:

答案 0 :(得分:7)

问题得到解决 cbStatus.SelectedItem = (CourseStudentStatus)status;

希望它有所帮助。

答案 1 :(得分:1)

你试过吗

public EditCourseForm(CourseStudentStatus status)
{
    InitializePage();            

    cbStatus.SelectedItem= status;
}

答案 2 :(得分:0)

将InitializePage()函数代码更改为此

public void InitializePage()     {

    cbStatus.DataTextField = Enum.GetName(typeof(CourseStudentStatus));

    cbStatus.DataValueField = Enum.GetValues(typeof(CourseStudentStatus));
}

<强>更新 试试这个。

var itemValues = Enum.GetValues(typeof(CourseStudentStatus)).Cast<CourseStudentStatus>().ToDictionary(obj => obj.ToString(), obj => obj.GetHashCode()).ToList();
        comboBox1.DisplayMember = "Key";
        comboBox1.ValueMember = "Value";
        comboBox1.DataSource = itemValues;

此处itemValues是一种List<KeyValuePair<string, int>>