机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题
纵观机房收费系统,判断文本框、组合框为空问题无非两种情况。第一种:判断窗体中所有文本框、组合框是否为空。第二种:判断一部分文本框、组合框是否为空。下面看看是如何实现这两种情况的。
第一种:判断窗体中所有文本框、组合框是否为空。
为此自己进行了一下改进,但相应的麻烦了一些。
自己定义了一个结构体数组,把控件和对应的文本框信息(如:学号、姓名……)进行封装,遍历到相应的控件,如果为空,就可以有对应的提示。
1.定义一个结构体数组:
''' <summary> ''' 判断控件数组中的控件的Text属性是否为空,并进行相应提示 ''' </summary> ''' <param name="arrayControl">需要遍历的结构体数组</param> ''' <returns>Boolean值,true表示为空,false表示不为空</returns> Private Function IsSomeEmptyText(ByVal arrayControl() As Term) As Boolean Dim termControl As Term '声明Term类型变量termControl '遍历结构体数组中所有元素,如结构体中的控件文本为空,则找其对就的字符串进行相应提示 For Each termControl In arrayControl '遍历结构体数组中所有元素 If TypeOf termControl.controlSub Is TextBox Then '判断控件是不是文本框 If termControl.controlSub.Text.Trim = "" Then '判断文本框内容是否为空 MessageBox.Show(termControl.strText & "不能为空", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) termControl.controlSub.Focus() Return True Exit Function End If ElseIf TypeOf termControl.controlSub Is ComboBox Then '判断控件是不是组合框 If termControl.controlSub.Text.Trim = "" Then '判断文本框内容是否为空 MessageBox.Show(termControl.strText & "不能为空", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) termControl.controlSub.Focus() Return True Exit Function End If End If Next Return False End Function
综上所述,所改进的方法,略显麻烦,但通过手动写入内容,显示时还是蛮灵活的。
1.不受任何容器的限制。
2.控件项随意显示。不需要显示的,像只读文本框“充值余额”,就完全不用搭理他。
3.顺序随意。结构体数据初始化,给他个什么顺序,就会按要求乖乖显示。
- 10楼wang37927561413小时前
- 研究的够透彻
- Re: zhanglianhai55513小时前
- 回复wang379275614n谢谢
- 9楼xjc1278003262昨天 19:39
- 写的不错,顶啦!
- Re: zhanglianhai555昨天 20:09
- 回复xjc1278003262n谢谢。
- 8楼liujiahan629629昨天 11:04
- 很好很好,学习学习,当时我都没用,顶了!
- Re: zhanglianhai555昨天 11:04
- 回复liujiahan629629n哈哈
- 7楼lishehe昨天 10:39
- 封装的思想发挥的淋漓尽致
- Re: zhanglianhai555昨天 10:53
- 回复lishehen嘿嘿
- 6楼wangyajin333昨天 09:49
- 好方法,学习了。
- Re: zhanglianhai555昨天 09:50
- 回复wangyajin333n客气。
- 5楼sunqing0316昨天 08:59
- 不想夸你,但还是夸夸吧
- Re: zhanglianhai555昨天 09:02
- 回复sunqing0316n那多不好意思,我不得折寿啊。
- 4楼tang_huan_11前天 23:27
- 不错,用数据解决问题!加油!
- Re: zhanglianhai555昨天 08:54
- 回复tang_huan_11n嗯。
- 3楼jly4758前天 19:59
- 果然很轻松
- Re: zhanglianhai555前天 20:00
- 回复jly4758n哈哈
- 2楼akkzhjj前天 15:53
- 顶,收藏
- Re: zhanglianhai555前天 19:08
- 回复akkzhjjn嘿嘿
- 1楼liu_yujie2011com前天 08:48
- 不错很全面,学习了!
- Re: zhanglianhai555前天 14:41
- 回复liu_yujie2011comn哈哈