我试图找到一个初学者友好但有效的方式来反映vb形式的文本框作为一个数组,然后循环检查不同的条件。而不是必须去
If IsNumeric(firstNameTxt.Text) Then
MessageBox("First name can only contain letters")
End If
if IsNumeric(lastNameTxt.Text)
:
:
我试图进行表单验证,并希望遍历我的表单中的所有文本框,检查它们只包含字母
要进行表单验证,所有textboxes
在表单中检查它们只包含字母,您可以使用以下代码:
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox And IsNumeric(ctrl.Text) Then
MsgBox(ctrl.Name.ToString & " First name can only contain letters")
End If
Next
您可以阻止他们甚至输入一个数字,这将防止必须首先验证它。我已经用数字和日期做了很多次但是它应该像你想要的那样简单:
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
NonNumericTextboxKeyPress(sender, e)
End Sub
Public Sub NonNumericTextboxKeyPress(ByVal txt As TextBox, ByVal e As System.Windows.Forms.KeyPressEventArgs, Optional ByVal AllowNegative As Boolean = True, Optional ByVal AllowDecimal As Boolean = True)
If "1234567890".Contains(e.KeyChar) Then
e.Handled = True
End If
End Sub