进行填表工作的时候,很多地方不允许为空,如果要在程序中一个个控件都来判断有没有填写数据,代码量太多。
下面注释的代码表示为处理过的代码,而且只列出了几个控件代码。代码由传智播客杨老师编写。
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是什么变量,先特殊地方跟着用就好吧。作者杨老师说还有一种更牛逼的方法,叫反射来着。
分享到:
相关推荐
封装了ffmpeg、ffplay、ffprobe.exe,播放嵌入到了WPF窗体中。编辑、生成均通过管道读写,byte操作,不生成临时文件。 程序旨在说明读取、编辑操作的代码,界面没设计,逻辑限制也没写。功能也只有读取,写入图像和...
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 ...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...
此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...
此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...
#实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几...
5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件...