VB弹对话框会停止定时器,要怎么才能不停止?

例如PrivateSubForm_Load()msgbox"123"endsubPrivateSubTimer1_Timer()unloadmeEndSub上面时钟是10... 例如
Private Sub Form_Load()
msgbox "123"
end sub

Private Sub Timer1_Timer()
unload me
End Sub

上面时钟是10秒,但如果那个弹的框不用鼠标点关闭的话,10秒后也不会关掉程序,有没有办法在不点掉弹的对话框,也可以关掉程序?
展开
 我来答
网海1书生
科技发烧友

2012-05-03 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
建议你最好用自建窗体来代替弹出对话框,如果采用API函数或shell对象,会对你的Timer1造成冲突,不好控制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
2012-05-03 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3257万
展开全部
在IDE(编程)环境中msgbox是会让timer事件停下来的,编译后定时器是不会停下来的。
复制以下代码,编译成exe后测试:
Private Sub Form_Load()
MsgBox "123"
End Sub

Private Sub Timer1_Timer()
SendKeys "~"
Unload Me

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liujun831220
2012-05-03 · 超过31用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:75.1万
展开全部
这位兄才,看来你是没有注意观察,其实没有停,只是表面上他不动了,其实timer一直在运行的,你可以试试看,打个比方,提示框弹出,时间停在9秒上,当你取消提示框的时候,时间继续进行,但是他开始的时间绝对不是9秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蔡瑀
2012-05-03 · TA获得超过231个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:330万
展开全部
Private Sub Form_Load()
Show
Set wsh = CreateObject("wscript.shell")
wsh.popup "123", 3, 321, 64
Unload Me
End Sub
不用api可以用popup的方法延迟 中间的3是3秒.可以自己改(单位:秒)

楼上的api我补充用法
messageboxex hwnd,文本,标题,显示类型,0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风雪剑无痕
2012-05-03 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1677万
展开全部
试了这个代码,当我很快的关掉对话框后可以看到主窗体,再次运行等计时器时间到了以后再关掉对话框就看不到主窗体了,这说明计时器并没有停止,代码很正常,只是在对话框没被关掉的情况下系统进程里还有,这也很正常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式