在来自枚举的组合框中设置默认值
本文关键字:设置 默认值 组合 枚举 | 更新日期: 2023-09-27 18:26:33
我有一个组合框,其中有一些来自枚举的值。
我希望程序启动时在组合框上显示一个默认值。。但是我不能让它工作。。这是我迄今为止在MainForm:中尝试的内容
cmbPrio.Items.AddRange(Enum.GetNames(typeof(PriorityType.Prioritytypes)));
cmbPrio.SelectedValue = PriorityType.Prioritytypes.Normal;
这是带有枚举的类:
class PriorityType
{
public enum Prioritytypes
{
Very_Important,
Important,
Normal,
Less_Importan
}
}
您正在将名称填充到组合中,组合只是字符串的集合,这意味着用于设置的值也必须是字符串。
cmbPrio.SelectedValue = Enum.GetName(typeof(PriorityType.Prioritytypes), PriorityType.Prioritytypes.Normal);
为什么不简单地设置Index
?:
cmbPrio.SelectedIndex = 0;
另一种选择是将ComboBox项设置为:
cmbPrio.Items.AddRange(Enum.GetValues(typeof(PriorityType.PriorityTypes))
.Cast<PriorityType.PriorityTypes>());
cmbPrio.SelectedValue = PriorityType.PriorityTypes.Normal;
这允许您将选定的值视为实际的PriorityType.PriorityTypes
,而不是字符串。