VB.net 2012 msgbox 不中断程序执行

Iceblood_kaka 2016-06-10 07:38:56
VB2012 自己写了个关机程序来玩,通过时钟控件来检测关机条件,时钟控件中有这样一段代码:
Private Sub Timer_Shutdown_Tick(sender As Object, e As EventArgs) Handles Timer_Shutdown.Tick
……
If time_ti1 < time_ti2 Then  '时间已过
    R = MsgBox("您设定的关机时间已到," & Chr(10) & Chr(13) & Chr(10) & "是否关机?", MsgBoxStyle.YesNo + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton1 + MsgBoxStyle.SystemModal + MsgBoxStyle.MsgBoxSetForeground,
"关机")
        If R = 6 Then
            Shell("shutdown -s -t 0")
       Else
           MsgBox("您取消了 关闭计算机," & Chr(10) & Chr(13) & Chr(10) & "再次关机您可能需要重新设置", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "提示")
           Exit Sub
       End If
Else
    Exit Sub
End If
……
End Sub

    代码运行后,执行 msgbox 时,程序不会挂起,而是一直运行,因控件 Timer_Shutdown 的 Interval 设置为100,所以程序运行时会每0.1秒弹出个信息对话框,一小会就满屏幕都是对话框,因点击 msgbox 按钮的速度跟不上弹出速度,所以后果……最后,只能点 “是”按钮后执行 shell shutdown 强制关机。
    msgbox 不是应该挂起程序,直到点击 msgbox 按钮对msgbox 作出 响应 的吗?否则,msgbox就失去了其本身的意义,这是什么情况,如何解决,求各位高手解答。
...全文
16 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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