请叫大家一个问题:出错处理!

CSDNkeke 2003-09-14 04:02:22
大家好,我这个学期才开始学习VB,所以有好多东西都还不懂,以后请多多指教!
现在有这么个问题:在判断输入一个文本框的内容是否为数字型,是则显示,否则弹出出错对话框。在这个文本框(text1)里的代码我是这样给的:
Private Sub Text1_Change()
If IsNumeric(Text1.Text) then
x=val(text1.text)
else
myexit = MsgBox("输入错误,重新输入!",vbExclamation+okOnly, "出错")
End If
If myexit = okOnly then
text1.text=""
End If
End Sub

问题是:当text1输入的不是数字时,弹出出错对话框,点击确定后,又出了个出错对话框,再点击才能再输入!

我自己用单步运行的方法看了一下,就是第一个if判断后,执行完第二个if判断后,程序直接又判断第一个if语句了,这时,输入为空,非数值型(用户还没再输入嘛),再出现出错对话框可以理解,就是她为什么它会立马再执行呢?

请大家帮我看看,问题出在何处?!

谢谢!!!!!!!!!!!!!!!!!!!!!
...全文
18 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
无响应 2003-09-14
  • 打赏
  • 举报
回复

楼上说的对
mumutouv 2003-09-14
  • 打赏
  • 举报
回复

MarGo(Boll★★★) 的方法比较好
踏平扶桑 2003-09-14
  • 打赏
  • 举报
回复
MarGo(Boll★★★) 的方法比较好
MarGo 2003-09-14
  • 打赏
  • 举报
回复
我看还是在TEXT的KEYPRESS事件中屏蔽掉非数字的好,你提示的那套动东回让客户讨厌的
xf_david921 2003-09-14
  • 打赏
  • 举报
回复
同意
armu80830 2003-09-14
  • 打赏
  • 举报
回复
同意用lostfocus事件
lisen101 2003-09-14
  • 打赏
  • 举报
回复
因为你调用的是 change事件,把它该为 失去焦点 事件,
一般都是在失去焦点事件中判断的!

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧