vb怎么用代码关掉msgbox打开的窗体
4个回答
展开全部
msgbox弹出后,在被处理之前,你的程序会被挂起,因此所有的代码包括Timer事件中的代码都不会执行,所以没有简单的程序可以关掉。其实下面回答提供的方法都很好,而且并不复杂。
特别采用MessageBoxTimeout函数这个方法,就只是在模块前面声明一次这个API函数就行了,然后你所有用到需要自动关闭的msgbox的地方,都不采用msgbox而是采用MessageBoxTimeout就行了,其实相当的简单方便,你觉得复杂可能是因为函数声明和返回值处理,看起来代码比较长,其实相比msgbox,就只是多了一个api函数声明。
特别采用MessageBoxTimeout函数这个方法,就只是在模块前面声明一次这个API函数就行了,然后你所有用到需要自动关闭的msgbox的地方,都不采用msgbox而是采用MessageBoxTimeout就行了,其实相当的简单方便,你觉得复杂可能是因为函数声明和返回值处理,看起来代码比较长,其实相比msgbox,就只是多了一个api函数声明。
展开全部
用API 吧 复制到窗口里看看效果...
Private Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
Private Sub Command1_Click()
MessageBoxTimeout Me.hwnd, "Hello World", "title", vbInformation, 0, 3000
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用MSGBOX是无法实现的,你可以做一个假的MSGBOX,也就是做一个新的窗体,这样利用时钟控件来控制就比较简单了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询