我需要将datagridviewcell的valuetype设置为枚举值以进行验证。如何将其设置为该枚举的某些值?
我能做到
dgv[i, j].ValueType = typeof(MyEnum);
MyEnum { me, bro, sis, mom, dad }
但是这会验证MyEnum
中的所有枚举值,即它允许用户键入MyEnum
中的所有值,但不能输入任何其他值。我需要用户只能输入mom
和dad
。怎么做到这一点?
答案 0 :(得分:2)
您可以将另一个枚举定义为MyEnum的子集:
enum MyEnum { me, bro, sis, mom, dad }
enum Subset
{
mom = MyEnum.mom,
dad = MyEnum.dad
}
dgv[i, j].ValueType = typeof(Subset);
// to get the MyEnum value, cast it back:
MyEnum cellVal = (MyEnum)dgv[i, j].Value;