`
yanfaguanli
  • 浏览: 662697 次
文章分类
社区版块
存档分类
最新评论

C# WPF 快速开发18封装数据验证逻辑

 
阅读更多

进行填表工作的时候,很多地方不允许为空,如果要在程序中一个个控件都来判断有没有填写数据,代码量太多。

下面注释的代码表示为处理过的代码,而且只列出了几个控件代码。代码由传智播客杨老师编写。

boolisOK=true;//数据检验是否通过

////判断非空字段不能为空

//if(txtName.Text.Length<=0)

//{

//isOK=false;//投票只能投反对票

//txtName.Background=Brushes.Red;//背景变成红色

//}

//else

//{

////发现有问题¬则投反对票isOK=false;

////发现自己没问题¬也不能isOK=true;

//txtName.Background=null;//背景变成默认颜色

//}

//if(txtNational.Text.Length<=0)

//{

//isOK=false;

//txtNational.Background=Brushes.Red;//背景变成红色

//}

//else

//{

//txtNational.Background=null;

//}

////如果SelectedIndex<0则表示没有选中任何项

//if(cbDepatment.SelectedIndex<0)

//{

//isOK=false;

////combobox变红要这样搞

//cbDepatment.Effect=

//newDropShadowEffect(){Color=Colors.Red};

//}

//else

//{

//cbDepatment.Effect=null;

//}

下面进行封装处理

//ref,out

privatevoidCheckTextboxNotEmpty(refboolisOK,

paramsTextBox[]textboxes)

{

foreach(TextBoxtxtBoxintextboxes)

{

if(txtBox.Text.Length<=0)

{

isOK=false;

txtBox.Background=Brushes.Red;

}

else

{

txtBox.Background=null;

}

}

}

privatevoidCheckComboBoxNotEmpty(refboolisOK,

paramsComboBox[]cmbs)

{

foreach(ComboBoxcmbincmbs)

{

if(cmb.SelectedIndex<0)

{

isOK=false;

cmb.Effect=newDropShadowEffect{Color=Colors.Red};

}

else

{

cmb.Effect=null;

}

}

}

privatevoidtxtSave_Click(objectsender,RoutedEventArgse)

{

boolisOK=true;

CheckTextboxNotEmpty(refisOK,txtName,txtNational,txtNativeAddr,txtAddr,

txtBaseSalary,txtTelNum,txtIdNum,txtPosition,txtNumber);

CheckComboBoxNotEmpty(refisOK,cbGender,cbMarriage,

cbPartyStatus,cbEducation,cbDepatment);

……

}

我也还不知道ref是什么变量,先特殊地方跟着用就好吧。作者杨老师说还有一种更牛逼的方法,叫反射来着。

分享到:
评论

相关推荐

    基于C#的视频编辑系统源码.zip

    封装了ffmpeg、ffplay、ffprobe.exe,播放嵌入到了WPF窗体中。编辑、生成均通过管道读写,byte操作,不生成临时文件。 程序旨在说明读取、编辑操作的代码,界面没设计,逻辑限制也没写。功能也只有读取,写入图像和...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    24.2.1 使用数据绑定执行校验 469 24.2.2 改变校验时机 484 第24章快速参考 487 第v部分 管 理 数 据 第25章 查询数据库中的信息 491 25.1 使用ado.net查询数据库 491 25.1.1 northwind数据库 492 25.1.2 ...

    ASP.NET 3.5 开发大全

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

    ASP.NET 3.5 开发大全1-5

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

    ASPNET35开发大全第一章

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

    ASP.NET 3.5 开发大全word课件

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

    ASP.NET 3.5 开发大全11-15

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

    亮剑.NET深入体验与实战精要2

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    亮剑.NET深入体验与实战精要3

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    asp.net知识库

    #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几...

    ASP.NET3.5从入门到精通

    5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...

Global site tag (gtag.js) - Google Analytics