msgbox在一定时间后自动消失

时间:2011-06-28 16:29:36

标签: vb.net

vb.net中是否有任何类型的msgbox提供消息并在一段时间后自动消失? 或者有没有方法可以隐藏msgbox,而无需用户点击OK?

由于 Furqan

8 个答案:

答案 0 :(得分:9)

您可以使用

CreateObject(“WScript.Shell”)。弹出窗口(“欢迎”,1,“标题”)

此msgbox将在1秒后自动关闭

答案 1 :(得分:3)

不,我认为没有内置的框架控件可以为您完成此操作。但是,您可以使用在Load事件中触发计时器的自定义构建表单轻松完成此操作。然后,当设定的时间量过去后,在计时器Elapsed事件中,您只需关闭表单即可。

答案 2 :(得分:2)

Linendra Soni的回答很好,但是在Windows和/或Excel的较新版本中可能会或可能不会。

这在较新的版本中非常有效:

Function MessageTimeOut(sMessage As String, sTitle As String, iSeconds As Integer) As Boolean
    Dim Shell
    Set Shell = CreateObject("WScript.Shell")
    Shell.Run "mshta.exe vbscript:close(CreateObject(""WScript.shell"").Popup(""" & sMessage & """," & iSeconds & ",""" & sTitle & """))"
    MessageTimeOut = True
End Function

像这样使用它:

Sub Example()
    Dim chk As Boolean
    chk = MessageTimeOut("Hello!", "Example Sub", 1) 'if chk returned FALSE that means the function was not executed successfully
End Sub

Sub Example()
    Call MessageTimeOut("Hello!", "Example Sub", 1) 'you don't need to get the output of the function
End Sub

输出:

enter image description here

答案 3 :(得分:1)

使用计时器或某种类型的延迟/睡眠,并在时间到期后运行

SendKeys.Send("~")

按下ENTER键也一样。

您可能需要通过再次激活msgbox窗口来继续它。

答案 4 :(得分:0)

我不认为有这样的工具。但我认为你可以按照这个步骤做到这一点;

  1. 创建一个Form元素的实例,并将其设计为消息框。
  2. 在表单加载事件中,获取系统时间或以间隔值启动计时器。
  3. 此计时器会勾选您想要的秒数,然后调用表单关闭事件。
  4. P.S:如果我错了,我很抱歉。我只是试图解决问题,也许有更好的方法来解决你的问题。

答案 5 :(得分:0)

您可以通过向表单添加计时器来完成此操作。     '定时器在100 ms后自动关闭      Dim seconds As Integer = 100

$('.Second')

答案 6 :(得分:0)

我有一些代码可以显示文件更新时间并在3秒内关闭消息框。 请看下面。 我希望这段代码可以支持该主题。

{{1}}

答案 7 :(得分:-1)