经典公关稿 知乎:请问VB怎么设置按钮弹出对话框延时三秒!995

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 15:21:21
就是吧``我用VB做了一个按钮 一按就可以迅速的弹出个对话框,我想让他慢一些再弹出来。。有办法嘛???
msgbox("对话框的内容",vbInformation,"对话框的标题")

在哪添加TIME呀

那我要怎么做喔 谁能不能告诉我一下呀

我就是想叫这个窗口弹出慢点 时间自己调

msgbox("对话框的内容",vbInformation,"对话框的标题")

加一个Timer。应该可以实现,还是自己动手试试吧。这个方法行的。不行再找我!

time就是工具栏中的闹钟

Timer控件就像一个闹钟的样子
interval=3000就是每3秒响应一次事件

MsgBox对话框是不能用TIMER来实现的。

只有使用API函数。具体方法在我的电脑上,晚点贴上来。

Msgbox弹出后程序就立即停止了一切代码的运行呈挂起等待状态,是必须要求用户响应的,此时时钟代码肯定不会运行,所以你应该将MSGBOX改为用API的弹出对话框替换,这个API对话框不是模式的,弹出后可以不影响其它代码的运行。

下面一行API声明写在窗体最项端(别断行):
Private Declare Function MessageBox Lib "USER32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

'下面一行替换你的MSGBOX语句行(别断行):
MessageBox Me.hwnd, "三秒后自动关闭", "标题栏文字", 0'这后面的0同MSGBOX中的按钮选项组合作用

时钟过程的代码你自己处理吧。

===============================================
另外,网上也有MSGBOX配合TIMER控件完成上述任务的说法,我没有试验是否能成功,最重要的一点是说是必须编译为EXE后才有效,在编程环境下不行,在此供楼主参考。

Private Sub Form_Load()
Command1.ENablde=false
Dim Savetime As Single
Text1 = "Timer begin"
Savetime = Timer '记下开始的时间
While Timer < Savetime + 5 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件。
Wend
Command1.ENablde=true
End Sub

延时应用于多处