我正在编写以下代码来验证强制性字段帐户号码。通知。 当出现错误时,用户的要求将重点放在字段上:
If txtAccountNo = "" Then
MessageBox.Show("Account no filed can't be left empty")
txtAccountNo.SetFocus
Exit Sub
End If
它正常工作。但是假设用户不想填写表单并退出应用程序。 消息框一直显示,直到用户输入帐号
我该如何避免这种情况? 请帮忙。
答案 0 :(得分:0)
设置一个标志以指示用户已看到消息框。检查标志以防止将来的任何消息框。确保在将焦点设置回文本框之前将标志设置为,例如
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
答案 1 :(得分:0)
你可以将所有验证规则放在一个函数/ procedure / subrutine中(我不熟悉VB,主要是C ++ / C#用户)。然后仅在用户提交填写的数据时调用此函数,并将焦点设置为第一个控件,并且未填充强制数据或输入无效数据。
假设您有一个包含3个控件的表单:
和2个按钮:
按下“保存”按钮时,首先调用功能/程序以验证用户输入。如果在dteDate中输入的日期无效,则将焦点设置在它上面并返回/退出该函数;如果在txtAccountInfo中没有输入文本,则将焦点设置在它上面并返回/退出该函数;如果在txtAddress中没有输入文本,则将焦点设置在它上并返回/退出。
按下“取消”时,您不会调用此功能,只是退出。