我有一个ComponentOne输入面板'inputPanel'从数据库中提取记录,
我想验证除名称文本框'txtNAME',
之外的所有框'check'是一个测试没有特殊字符的函数
For Each ctrl As Control In inputPanel.Controls
If ctrl.Name <> "txtNAME" Then
check= ctrl.Text
If NumText(check) = False Then
MessageBox.Show("You can only Enter Numbers and Text for this field", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Error)
ctrl.Focus()
Exit Sub
End If
End If
Next
它仍在检查特殊字符的txtName
任何帮助?
答案 0 :(得分:0)
仅将循环限制为文本框,丢弃同一控件集合中存在的标签或按钮等控件
For Each txtBox In inputPanel.Controls.OfType(Of TextBox)
If txtBox.Name <> "txtNAME" Then
check= txtBox.Text
If NumText(check) = False Then
.....
End If
End If
Next
您还可以使用
丢弃不需要的文本框For Each txtBox In inputPanel.Controls _
.OfType(Of TextBox) _
.Where(Function(x) x.Name <> "txtNAME")
check= txtBox.Text
If NumText(check) = False Then
.....
End If
Next
在不丢弃非TextBox控件的情况下,循环也会将面板控件集合中的每个标签传递给NumText方法,并且可能是触发错误消息的标签文本,而不是txtNAME框 -