vb.net中是否有任何类型的msgbox提供消息并在一段时间后自动消失? 或者有没有方法可以隐藏msgbox,而无需用户点击OK?
由于 Furqan
答案 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
输出:
答案 3 :(得分:1)
使用计时器或某种类型的延迟/睡眠,并在时间到期后运行
SendKeys.Send("~")
按下ENTER键也一样。
您可能需要通过再次激活msgbox窗口来继续它。
答案 4 :(得分:0)
我不认为有这样的工具。但我认为你可以按照这个步骤做到这一点;
答案 5 :(得分:0)
您可以通过向表单添加计时器来完成此操作。 '定时器在100 ms后自动关闭 Dim seconds As Integer = 100
$('.Second')
答案 6 :(得分:0)
我有一些代码可以显示文件更新时间并在3秒内关闭消息框。 请看下面。 我希望这段代码可以支持该主题。
{{1}}
答案 7 :(得分:-1)