频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Windows Forms中实现统一的数据验证(一)

来源: 作者:Anders Cui 出处:巧巧读书 2008-01-23 进入讨论组
上一页 1 2 3 4 5 

BaseCompareValidator

到目前为止,我们的组件只能处理单个文本域的值。但在某些情况下,验证过程可能涉及多个文本域或值,比如确保文本域的值在两个值之间(RangeValidator);或比较两个文本域的值是否相等(CompareValidator)。
不管哪种情况,我们都需要考虑类型检查、转换和比较等过程。这个功能应当封装在一个新的类型中:BaseCompareValidator,而RangeValidator和CompareValidator则继承自它。

ValidationDataType是一个自定义枚举类型,在何种数据类型下进行比较验证。

RangeValidator

如果需要确保控件的输入值在指定的范围内,RangeValidator 可以满足需要。它需要开发人员指定最大值和最小值,还有输入值的数据类型。

<!--[if !vml]-->

Windows Forms中实现统一的数据验证(一)(图六)


<!--[endif]-->

CompareValidator

最后来看看CompareValidator,它用来进行控件的等值测试,可以与另一个控件的值或者指定的值进行比较。Operator属性指定了比较操作的类型,ControlToCompare和 ValueToCompare则指定了要比较的控件和指定值。如果Operator属性为DataTypeCheck,则还可以判断控件的值是否为指定类型。

<!--[if !vml]-->

Windows Forms中实现统一的数据验证(一)(图七)


<!--[endif]-->

完整的自定义验证组件结构

Windows Forms中实现统一的数据验证(一)(图八)



我们身在何处
首先我们对Windows Forms中的校验机制进行了探讨,然后将这些验证逻辑封装到了几个支持设计时操作的组件,通过开发自定义验证组件来提供更为高效的验证体验(类似于ASP.NET中的验证控件)。但目前还仅限于控件级的验证。下一篇文章中将讨论如何进行窗体级的验证,届时ValidationSummary组件也会闪亮登场。

示例代码下载:CustomValidatorSample.rar

参考:
1. Extending Windows Forms with a Custom Validation Component Library. By Michael Weinhardt
2. Windows Forms Programming in C#. By Chris Sells保留地址 http://www.qqread.com/dotnet/j394032.html 更多文章 更多内容请看Windows操作系统安装Windows权限设置Windows操作系统安全集专题,或进入讨论组讨论。
上一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章