纵观机房收费系统,判断文本框、组合框为空问题无非两种情况。第一种:判断窗体中所有文本框、组合框是否为空。第二种:判断一部分文本框、组合框是否为空。下面看看我是如何实现这两种情况的。
第一种:判断窗体中所有文本框、组合框是否为空。
''' <summary> ''' 判断窗体中所有文本框、组合框输入内容是否为空,若窗体中有允许为空的文本框或组合框, '''则不能使用此函数 ''' </summary> ''' <param name="frm"></param> ''' <returns></returns> ''' <remarks></remarks> Public Shared Function IsAllEmptyText(ByVal frm As Form) As Boolean Dim control As New Control For Each control In frm.Controls '遍历窗体中所有的控件 If TypeOf control Is TextBox Then '判断控件是不是文本框 If control.Text.Trim = "" Then '判断文本框内容是否为空 MsgBox(control.Tag.ToString + "不能为空!",vbOKOnly,"温馨提示") control.Focus() Return True Exit Function End If ElseIf TypeOf control Is ComboBox Then '判断控件是不是组合框 If control.Text.Trim = "" Then MsgBox(control.Tag.ToString + "不能为空!","温馨提示") Return True Exit Function End If End If Next Return False End Function
第二种:判断一部分文本框、组合框是否为空。
''' <summary> ''' 判断控件数组中的控件的Text属性是否为空 ''' </summary> ''' <param name="arrayControl"></param> ''' <returns></returns> ''' <remarks></remarks> Public Shared Function IsSomeEmptyText(ByVal arrayControl() As Control) As Boolean Dim control As New Control For Each control In arrayControl '遍历数组中所有元素 If TypeOf control Is TextBox Then '判断控件是不是文本框 If control.Text.Trim = "" Then '判断文本框内容是否为空 MsgBox(control.Tag.ToString + "不能为空!","温馨提示") Return True Exit Function End If End If Next Return False End Function
Dim arrayControl() As Control ReDim Preserve arrayControl(1) arrayControl(0) = txtUserName arrayControl(1) = txtPassword If UIEmpty.IsSomeEmptyText(arrayControl) Then Exit Sub End If