我试图从保存枚举值的组合框中签名选定的值。
这是我填充组合框的地方
cmbPrio.Items.AddRange(Enum.GetNames(typeof(PriorityType.Prioritytypes)));
cmbPrio.SelectedIndex = (int) PriorityType.Prioritytypes.Normal;
这是我试图在我的课程中设置值的地方
private void ReadInput()
{
if (String.IsNullOrEmpty(txtTodo.Text))
{
MessageBox.Show("Write something to do!");
}
else
{
currTasks.Priority = what code should go here??!
currTasks.Description = txtTodo.Text;
currTasks.TaskDate = dateTimePickerToDo.Value;
}
}
我的班级用枚举:
class PriorityType
{
public enum Prioritytypes
{
Very_Important,
Important,
Normal,
Less_Importan
}
}
我的课我的get:set是:
private PriorityType priority;
public PriorityType Priority
{
get
{
return this.priority;
}
set
{
this.priority = value;
}
}
答案 0 :(得分:0)
直接用cumPrio填充枚举值:
cmbPrio.Items.AddRange(Enum.GetValues(typeof(Prioritytypes)).Cast<object>().ToArray());
因此您可以将其指定为枚举值:
currTasks.Priority = (Prioritytypes)cmbPrio.SelectedItem;
如果SelectedIndex与枚举类型后面的int值不对应,也可以这样做,例如
public enum Prioritytypes
{
Very_Important = 1,
Important = 2,
Normal = 4,
Less_Importan = 8
}
或者如果您更改了组合框中的条目顺序。