首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请问vb中有没有异步msgbox [已结帖,结帖人:funing]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • funing
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-08 17:06:23 楼主
    当vb弹出一个msgbox的时候,好像进程就被挂起了。知道用户点击ok,msgbox后的代码才继续执行,
    请问有没有异步的msgbox,弹出对话框后就立即执行其后的代码
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fvflove
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 17:08:111楼 得分:0
    如果是系统自带的,就是同步的.

    如果要异步的,那就自己做一个Msgbox 并且调用, 用非模态调用.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

      5

    发表于:2008-08-08 17:09:282楼 得分:0
    TimedMessageBox,估计可以达到你的目的,MessageBox(msgbox)是无法达到你的要求的,当你使用异步的时候,实际你可以使用一个form,调用show vbNormal即可.但是会有一些问题,而TimedMessageBox,则是在一定时间内没有点击,则会自动关闭,然后继续执行.
    http://support.microsoft.com/kb/181934
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

      5

    发表于:2008-08-08 17:14:543楼 得分:4
    抱歉,贴错了个链接,那个很老了,并且不适合VB.

    VB code
    Private Declare Function MessageBoxTimeout Lib "user32.dll" Alias "MessageBoxTimeoutA" ( _ ByVal hwnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal uType As Long, _ ByVal wlange As Long, _ ByVal dwTimeout As Long) As Long Private Sub Form_Load() MessageBoxTimeout ByVal 0&, "5秒种后我会自动关闭的哦~~~~~", "自动关闭信息框演示:", ByVal 0&, ByVal 0&, 5000 End Sub

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fvflove
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 17:27:424楼 得分:0
    看,我又学到了.以前都是用自己做的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

      5

    发表于:2008-08-08 17:29:555楼 得分:0
    引用 4 楼 fvflove 的回复:
    看,我又学到了.以前都是用自己做的.

    我要收学费...^_^
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • funing
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 17:30:256楼 得分:0
    就是说api噢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happy_sea
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

    发表于:2008-08-08 17:40:407楼 得分:0
    Mark一下,用时好找。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

      5

    发表于:2008-08-08 17:49:428楼 得分:0
    引用 7 楼 happy_sea 的回复:
    Mark一下,用时好找。。。

    Mark 不及收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Sandrer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 08:09:399楼 得分:3
    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


    第一个参数中的hWnd赋值为0即可
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

      5

    发表于:2008-08-09 08:55:5810楼 得分:0
    引用 9 楼 Sandrer 的回复:
    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


    第一个参数中的hWnd赋值为0即可

    这个跟msgbox有区别吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fu0212
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 09:24:5011楼 得分:0
    引用 9 楼 Sandrer 的回复:
    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


    第一个参数中的hWnd赋值为0即可

    确实 设置为0后 就是异步的了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MOODSKY2002
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:33:5812楼 得分:4
    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


    第一个参数中的hWnd赋值为0即可


    又学到了一点,还以为msgbox只能同步来着。。。。。世界可真大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • szyss
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 21:37:1113楼 得分:3
    VB code
    Public 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 MessageBox Me.hwnd, "您要显示的文本", "提示", vbExclamation
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DengXingJie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:15:4614楼 得分:0
    学到了两点
    决定收藏此贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • DengXingJie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:22:3315楼 得分:3
    MessageBoxA只是一个非模式而吧,没按确定前后面的语句依然不能执行

    VB code
    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 Private Sub Command1_Click() MessageBox 0, "您要显示的文本", "提示", vbExclamation Debug.Print "打印" End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Modest
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

      3

    发表于:2008-08-19 23:52:4116楼 得分:0
    我是来膜拜各位的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • _l_
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 06:38:2917楼 得分:0
    学到了两点
    决定收藏此贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jhone99
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 08:14:2818楼 得分:0
    收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sysdzw
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:49:1519楼 得分:3
    引用 15 楼 DengXingJie 的回复:
    MessageBoxA只是一个非模式而吧,没按确定前后面的语句依然不能执行


    VB code
    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

    Private Sub Command1_Click()
      MessageBox 0, "您要显示的文本", "提示", vbExclamation
      Debug.Print "打印"
    End Sub


    我试了也是的,根本不是异步,编译成exe也不行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ganjiewww
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 10:25:3120楼 得分:0
    引用 17 楼 _l_ 的回复:
    学到了两点
    决定收藏此贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • WallesCai
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 14:32:3521楼 得分:0
    那说明你的对话框用得很不合时宜.至少是在程序正常运作的时候,这个对话框打断了程序的运行.这样的程序对于用来来说会得到一个很差的使用体验.
    建议你在窗体上放一个LABEL来专门显示运行中的消息吧.这样就不会打断程序运行了.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved