我正在编写以下代码以验证必填字段帐号。通知。当错误发生时,用户的要求是重新关注字段:
If txtAccountNo = "" Then
MessageBox.Show("Account no filed can't be left empty")
txtAccountNo.SetFocus
Exit Sub
End If
它工作正常。但是假设用户不想填写表格并退出应用程序。消息框一直出现,直到用户输入帐号。
我怎样才能避免这种情况?请帮忙。
我正在编写以下代码以验证必填字段帐号。通知。当错误发生时,用户的要求是重新关注字段:
If txtAccountNo = "" Then
MessageBox.Show("Account no filed can't be left empty")
txtAccountNo.SetFocus
Exit Sub
End If
它工作正常。但是假设用户不想填写表格并退出应用程序。消息框一直出现,直到用户输入帐号。
我怎样才能避免这种情况?请帮忙。
设置一个标志以指示用户已看到消息框。检查标志以防止将来出现任何消息框。确保在将焦点设置回文本框之前设置了标志,例如
dim bMsgBox as boolean=false
If txtAccountNo = "" and bMsgBox = false Then
MessageBox.Show("Account no filed can't be left empty")
bMsgBox=true
txtAccountNo.SetFocus
Exit Sub
End If
您可以将所有验证规则放在一个函数/过程/子程序中(我不熟悉 VB,主要是 C++/C# 用户)。然后只有在用户提交填写的数据时才调用此函数,并将焦点设置为未填写强制数据或输入无效数据的第一个控件。
假设您有一个需要填写 3 个控件的表单:
和 2 个按钮:
当按下“保存”按钮时,您首先调用函数/过程来验证用户输入。如果输入的日期在 dteDate 中无效,则设置焦点并返回/退出函数;如果在 txtAccountInfo 中没有输入文本,则设置焦点并返回/退出函数;如果在 txtAddress 中没有输入文本,则将焦点放在它上面并返回/退出。
当按下“取消”时,您不会调用此函数,而只是退出。