判断文本框、组合框是否空(机房重构知识点总结)
2014-06-15 17:52
309 查看
机房重构进行时,多次用到判断文本框、组合框是否为空,以及清空文本框、组合框,为此专门抽象出一系列的方法,开始写的比较乱,昨天又重新理了一遍,拿来与大家交流学习。
![](http://img.blog.csdn.net/20140615172554296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQXVndXMzMzQ0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上图是组合查询的界面,因为上篇讲到了窗体继承,所以故意选择组合查询的父窗体,以此为基础,谈一下怎样判断文本框、组合框是否为空,怎样清空文本框、组合框,同时作为窗体继承的实践,以及组合查询的前篇。
组合查询有三个条件,我们可以选择一个、两个或三个,这就需要我们去判断其中一部分文本框、组合框是否为空,怎么办?方法有两个,一是把需要判断的控件封装在控件数组里,另一种是放在容器Panel里(题外话:我开始用的GroupBox,结果不可以,后来是zhao同学提示的我用Panel,感谢zhao同学),下面用封装数组的方法实现:
如果是放在Panel中的,参数直接定义为Panel.ControlCollection即可,如果是判断窗体的全部控件,那么把参数定义为Windows.Forms.Control.ControlCollection。对于清空文本框、组合框也是同样的方法,这里不再赘述。
然后把你需要判断的控件放在数组里面,设置好相应的Tag,调用此方法即可。
封装控件以及调用的代码:
看一下效果:
![](http://img.blog.csdn.net/20140615174219312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQXVndXMzMzQ0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140615174244093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQXVndXMzMzQ0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
方法就介绍到这里,欢迎大家批评指正。
上图是组合查询的界面,因为上篇讲到了窗体继承,所以故意选择组合查询的父窗体,以此为基础,谈一下怎样判断文本框、组合框是否为空,怎样清空文本框、组合框,同时作为窗体继承的实践,以及组合查询的前篇。
组合查询有三个条件,我们可以选择一个、两个或三个,这就需要我们去判断其中一部分文本框、组合框是否为空,怎么办?方法有两个,一是把需要判断的控件封装在控件数组里,另一种是放在容器Panel里(题外话:我开始用的GroupBox,结果不可以,后来是zhao同学提示的我用Panel,感谢zhao同学),下面用封装数组的方法实现:
<span style="font-family:SimSun;font-size:18px;"> '判断数组控件是否为空 Public Function IsEmptyControlArray(ByVal ArrayControl() As Control) Dim control As New Control '定义控件类 For Each control In ArrayControl '遍历数组中的控件 If TypeOf (control) Is TextBox And control.Tag <> "" Then '判断文本框是否为空 Tag <> ""防止漏写tag报错 If control.Text.Trim = "" Then '如果空,请示用户输入 MsgBox("请输入" & control.Tag.ToString, vbOKOnly, "提示") control.Focus() '控件获得焦点 Return False '返回False End If ElseIf TypeOf (control) Is ComboBox And control.Tag <> "" Then '判断组合框是否为空 If control.Text = "" Or control.Text.Trim = "<请选择>" Then '如果空,提示用户选择数据项 MsgBox("请选择" & control.Tag.ToString, vbOKOnly, "提示") control.Focus() '获取焦点 Return False End If End If Next Return True End Function </span>
如果是放在Panel中的,参数直接定义为Panel.ControlCollection即可,如果是判断窗体的全部控件,那么把参数定义为Windows.Forms.Control.ControlCollection。对于清空文本框、组合框也是同样的方法,这里不再赘述。
然后把你需要判断的控件放在数组里面,设置好相应的Tag,调用此方法即可。
封装控件以及调用的代码:
<span style="font-family:SimSun;font-size:18px;"> Dim ControlArray(2) As Control '定义控件数组,获取组合1的控件 ControlArray(0) = cboField1 ControlArray(1) = cboOperator1 ControlArray(2) = txtKey1 If CommonMethod.IsEmptyControlArray(ControlArray) = False Then '判断组合1的控件是否为空 Exit Sub End If</span>
看一下效果:
方法就介绍到这里,欢迎大家批评指正。
相关文章推荐
- 【重构】判断文本框组合框是否为空
- 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题
- 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题
- 组合查询(机房重构知识点总结)
- 史上最简洁的向上取整(机房重构知识点总结)
- 配置文件总结(机房重构知识点总结)
- 机房重构---清空文本框或组合框内容
- 【合作】改进判断文本框和组合框是否为空
- 判断文本框、组合框是否为空
- 组合查询(机房重构知识点总结)
- 配置文件总结(机房重构知识点总结)
- 【总结】DateTime日期类型格式化显示(转)以及判断输入文本框是否符合日期格式
- 机房重构几个小知识点总结
- vb.net窗体继承(机房重构知识点总结)
- 职责链模式应用——下机(机房重构知识点总结)
- 机房重构-----判断输入框是否为空,一键清除输入框
- 职责链模式应用——下机(机房重构知识点总结)
- 问题总结:判断MS SQLSERVER临时表是否存在 drop table #tempcitys
- ASP.NET Session丢失问题解决方案总结及判断Session是否过期【转载】
- sql中判断使用distinct是否多余-学习总结