我们在做机房收费系统的时候,很多情况下都要判断文本框是否为空,那接下来我们看看在vb.net中我们怎么判断文本框、组合框是否为空。
一、遍历窗体中有多少个文本框,这时我们用For Each循环语句,先判断所有文本框是否为空
Public Shared Function IsAllEmptyText(ByVal frm As Form) As Boolean
Dim control As New Control
For Each control In <span style="font-family:Consolas, Courier New, Courier, mono, serif;"><span style="line-height: 18px;">arrayConcrol</span></span> '遍历窗体中所有的控件
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 + "不能为空!", vbOKOnly, "温馨提示")
Return True
Exit Function
End If
End If
Next
Return False
End Function</span>
二、判断部分文本框、组合框是否为空
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 + "不能为空!", vbOKOnly, "温馨提示")
control.Focus()
Return True
Exit Function
End If
ElseIf TypeOf control Is ComboBox Then '判断控件是不是组合框
If control.Text.Trim = "" Then
MsgBox(control.Tag.ToString + "不能为空!", vbOKOnly, "温馨提示")
Return True
Exit Function
End If
End If
Next
Return False
End Function</span>
三、在窗体中实现调用
Dim empty As New UI.IsEmptyText ’调用判断文本框是否为空的方法
Dim arrayControl() As Control ’定义一个数组,将窗体中文本框的信息放入数组中
ReDim Preserve arrayControl(1) ’数组的总数
arrayControl(0) = txtUserName
arrayControl(1) = txtPassword
If empty.IsAllEmptyText(arrayControl) Then
Exit Sub
End If
这样就可以轻松判断文本框是否为空,不过有点不方便的就是for each遍历是从最后一个往上遍历窗体中的文本框是否为空!