VB.NET winform应用程序 用户控件的自定义属性的获取问题 10
我创建了一个用户控件继承了textbox控件,之后在里面创建了一个用于选择校验方式的属性TypeChecking我自己定义了一个枚举PublicEnumCheckType...
我创建了一个用户控件继承了textbox控件,
之后在里面创建了一个用于选择校验方式的属性TypeChecking
我自己定义了一个枚举
Public Enum CheckType
None = 0
Number = 1
EnglishString = 2
SmallEnglishString = 3
BigEnglishString = 4
Email = 5
PhoneNumber = 6
TelephoneNumber = 7
End Enum
现在如果定义一个单选校验类型的属性可以实现。
我的问题是想实现一个属性,能够实现对以上枚举中的校验进行复合校验
(就是点赋值的时候出来一个类似于web应用程序里面的style一样,在弹出的窗体中通过选择一些属性并拼接成字符串)而我现在的想法就是在点给这个属性赋值的时候弹出一个窗体,里面有枚举里面的所有内容,以checkbox方式呈现,选中要进行的校验确定后,拼接的字符串成为这个属性的value。
问题就是上面,请大侠们给出属性的get set方法和实现过程并加以说明谢谢。
这个问题解决了 其实很简单 就是创建个编辑器,并在创建属性的时候指定editor就好了 谢谢回答者。 展开
之后在里面创建了一个用于选择校验方式的属性TypeChecking
我自己定义了一个枚举
Public Enum CheckType
None = 0
Number = 1
EnglishString = 2
SmallEnglishString = 3
BigEnglishString = 4
Email = 5
PhoneNumber = 6
TelephoneNumber = 7
End Enum
现在如果定义一个单选校验类型的属性可以实现。
我的问题是想实现一个属性,能够实现对以上枚举中的校验进行复合校验
(就是点赋值的时候出来一个类似于web应用程序里面的style一样,在弹出的窗体中通过选择一些属性并拼接成字符串)而我现在的想法就是在点给这个属性赋值的时候弹出一个窗体,里面有枚举里面的所有内容,以checkbox方式呈现,选中要进行的校验确定后,拼接的字符串成为这个属性的value。
问题就是上面,请大侠们给出属性的get set方法和实现过程并加以说明谢谢。
这个问题解决了 其实很简单 就是创建个编辑器,并在创建属性的时候指定editor就好了 谢谢回答者。 展开
展开全部
那你应该用位枚举
给你的Enum标记上FlagsAttribute,具体怎么标记attribute请你参考vb.net的语法
然后每一个值为二进制某一个位上的值,比如第一个是0,第二个是1,第三个是2,第四个是4,如果你不知道二进制位是什么的话,可以google,基本上是2的某个位次方,比如2的0次方是1,2的1次方是2,2的2次方是4等等
之后这种Enum就可以按位操作了,比如 CheckType.Number | CheckType.EnglishString获取的就是交集,同时包含了这两种状态
你可以通过 value & CheckType.Number == CheckType.Number来判断是否包含某一种或多个枚举位
接下来我想你应该知道怎么设计checkbox了吧,getset可以是原来的类型,只是这时候可以包含多个枚举值了
给你的Enum标记上FlagsAttribute,具体怎么标记attribute请你参考vb.net的语法
然后每一个值为二进制某一个位上的值,比如第一个是0,第二个是1,第三个是2,第四个是4,如果你不知道二进制位是什么的话,可以google,基本上是2的某个位次方,比如2的0次方是1,2的1次方是2,2的2次方是4等等
之后这种Enum就可以按位操作了,比如 CheckType.Number | CheckType.EnglishString获取的就是交集,同时包含了这两种状态
你可以通过 value & CheckType.Number == CheckType.Number来判断是否包含某一种或多个枚举位
接下来我想你应该知道怎么设计checkbox了吧,getset可以是原来的类型,只是这时候可以包含多个枚举值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询