当前位置:编程学习 > C#/ASP.NET >>

VB.NET winform应用程序 用户控件的自定义属性的获取问题

我创建了一个用户控件继承了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就好了 谢谢回答者。
其他:那你应该用位枚举

给你的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可以是原来的类型,只是这时候可以包含多个枚举值了

上一个:vb.net 中通过Graphic怎么在原有的图片上绘制DrawLines
下一个:VB.net的系统咋装

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,