动态错误提示
通常我们会在Validating事件中设置代码来验证输入数据,例如:
If
e.Sender.Text.Length
<> 6 Then
MessageBox.Show("邮编应该是六位数!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Cancel
= True
End
If
这样用户离开邮政编码输入框之前,就会判断输入内容的长度,如果长度不等于6,将出现一个对话框提示用户,并禁止离开邮政编码输入框。
这种错误提示比较“粗暴”,我们可以换一个较为“平和”的提示方式,将Validating事件代码改为:
If
e.Sender.Text.Length
<> 6 Then
e.Sender.Error
= "邮编应该是六位数!"
Else
e.Sender.Error
= ""
End
If
这样输入的邮政编码长度如果不等于6,将在输入框的后边显示一个红色的小图标,表明有输入错误,将鼠标移到这个图标上时,就会显示错误信息:
如果想在保存的时候统一验证,可以将“保存”按钮的代码设置为:
Dim
HasError As
Boolean
Dim
r As
Row = Tables("客户").Current
If
r.IsNull("邮编")
OrElse r("邮编").Length
<> 6 Then
e.Form.Controls("TextBox1").Error
= "邮政编码应该是六位数!"
HasError =
True
Else
e.Form.Controls("TextBox1").Error
= ""
End
If
If
r.IsNull("分组")
Then
e.Form.Controls("TextBox2").Error
= "必须输入用户分组!"
HasError = True
Else
e.Form.Controls("TextBox2").Error
= ""
End
If
If
HasError = False
Then '如果没有输入错误,则保存
r.Save()
End
If
同时将“取消”按钮的代码设置为:
Dim
r As
Row = Tables("客户").Current
r.Reject()
'撤销修改
e.Form.ClearErrors()
'清除所有控件的错误提示