Fre*_*Boy 0 c# combobox winforms
如何在将数据源分配给枚举时从组合框中删除项目?
当试图删除时Items.Remove,得到错误:
设置DataSource属性时,无法修改项集合.
有什么建议吗?
注意:我会继续使用枚举,因为我在代码中的许多地方处理它.
代码:
public enum DefaultValueType
{
None = 0,
Static = 1,
Query = 2
}
cBoxDefaultType.DataSource = Enum.GetValues(typeof(DefaultValueType));
Run Code Online (Sandbox Code Playgroud)
在一种情况下,我想从组合框的选项中删除查询项.
cBoxDefaultType.Items.RemoveAt(2); // Throw exception
Run Code Online (Sandbox Code Playgroud)
我通过过滤枚举数组找到了解决方案:
Enum.GetValues(typeof(DefaultValueType))
.Cast<DefaultValueType>()
.Where(p => p != DefaultValueType.Query)
.ToArray<DefaultValueType>()
Run Code Online (Sandbox Code Playgroud)