急,如何让程序在msgbox弹出后继续自动执行??

ssr123 2010-03-26 03:54:03
Private Sub Command1_Click()

MsgBox "ok"
Delay (1)

SendKeys "{enter}"

End Sub

这段程序为什么不能自动消掉MsgBox?
...全文
1563 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2010-03-27
  • 打赏
  • 举报
回复
...............................
神马都能聊 2010-03-27
  • 打赏
  • 举报
回复
如果你不想msgbox中断你的程序,就自己写一个对话框弹出,弹出以后在对话框里调用代码关闭自己.
SunVector 2010-03-27
  • 打赏
  • 举报
回复
受益匪浅,顶
贝隆 2010-03-27
  • 打赏
  • 举报
回复
一般来说,最简单的方法还是自己模拟一个MsgBox,这样可以避免模式窗体阻塞程序执行的情况。
ACMAIN_CHM 2010-03-27
  • 打赏
  • 举报
回复
没有办法。 一种做法就是自己写个窗体frm1模仿这个 msgbox ,然后弹出frm1.
sonic_andy 2010-03-27
  • 打赏
  • 举报
回复
可以用wscript.shell对象的Popup方法代替Msgbox
chinaboyzyq 2010-03-27
  • 打赏
  • 举报
回复
timer控件的事件不受模式对话框的影响,楼主“编译以下程序后测试exe文件,VB IDE中无效。)


Private Sub Command1_Click()
Timer1.Enabled = True
MsgBox "OK"
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
SendKeys "{ENTER}"
End Sub


a1875566250 2010-03-26
  • 打赏
  • 举报
回复
LZ我教你一招,MsgBox弹出后程序处于挂起等待返回状态,其实你可以使用一个Timer,设置其值为要使MsgBox消失的时间,比如5000,然后在MsgBox弹出的前一句开启这个Timer,这个Timer查找MsgBox的窗口然后关闭,关闭完成后把Timer禁用。
lyserver 2010-03-26
  • 打赏
  • 举报
回复
使用form代码msgbox,或者启动一个线程,在线程里使用MessageBox函数显示对话框,不过由于线程里没有消息循环,因此你需要使用sleep让对话框停留指定的时间,否则会一闪而过。
guojl 2010-03-26
  • 打赏
  • 举报
回复
把msgbox做成窗体,方便自由控制
舉杯邀明月 2010-03-26
  • 打赏
  • 举报
回复
' ◆◆◆定时消失的对话框◆◆◆
' 新建标准 EXE工程,添加控件 Command1 、Timer1
' 编译后运行 .exe 文件!
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Private Const MsgTitle$ = "定时消失的对话框"

Private Sub Command1_Click()
Dim msg As String
If Compiled Then
With Timer1
.Interval = 3000
.Enabled = True
End With
msg = "将会消失在 3 秒后。"
Else
msg = "将会消失在 3 秒后," & vbCrLf & "必须编译后才能看见效果。"
End If
MsgBox msg, 64, MsgTitle
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Me.Caption = MsgTitle
End Sub

Private Sub Timer1_Timer()
Dim hWnd As Long
Timer1.Enabled = False
hWnd = FindWindow(vbNullString, MsgTitle)
If (hWnd) Then Call SendMessage(hWnd, &H10, 0, ByVal 0&)
End Sub

Private Function Compiled() As Boolean
On Error GoTo NotCompiled
Debug.Print 1 / 0
Compiled = True
NotCompiled:
End Function

  • 打赏
  • 举报
回复
自己画个msgbox
xrongzhen 2010-03-26
  • 打赏
  • 举报
回复
通过EnumWindows获取Msgbox的Hwnd,然后postmessage消息
bcrun 2010-03-26
  • 打赏
  • 举报
回复
因为MsgBox 弹出的是模式窗口,类似Form2.Show vbModal这种,他算是按管了程序的消息循环,需要关闭它后,代码才会继续执行.所以你需要换个非模式的,或者自己做个会延时关闭的对话框
CommonDialog 控件 CommonDialog 控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。通过运行 Windows 帮助引擎控件还能显示帮助。 语法 CommonDialog 说明 CommonDialog 控件在 Visual Basic 和 Microsoft Windows 动态链接库 ommdlg.dll. 的例程之间提供了一个接口。为了用这个控件创建一个对话框,ommdlg.dll. 必须在 Microsoft Windows 的 SYSTEM 目录下。 在应用程序中要使用 CommonDialog 控件,可将其添加到窗体中并设置其属性。控件所显示的对话框由控件的方法确定。在运行时,当相应的方法被调用时,将显示一个对话框或是执行帮助引擎;在设计时,CommonDialog 控件是以图标的形式显示在窗体中。该图标的大小不能改变。 使用指定的方法,CommonDialog 控件能够显示下列对话。 方法 所显示的对话框 ShowOpen 显示“打开”对话框 ShowSave 显示“另存为”对话框 ShowColor 显示“颜色”对话框 ShowFont 显示“字体”对话框 ShowPrinter 显示“打印”或“打印选项”对话框 ShowHelp 调用 Windows 帮助引擎 在对话框接口上单击,CommonDialog 控件将自动提供与上下文有关的帮助: 单击标题栏中的“这是什么?”帮助按钮,然后单击想详细信息的项目。 将鼠标放在想进一步详细信息的项目上,单击右键,然后在所显示的上下文菜单中选择这是什么命令。 操作系统提供在 Windows 95 帮助弹出中显示的文本。也可以通过设置 Flags 属性,在带有 CommonDialog 控件的对话框中显示一个帮助按钮,但是,必须在这个位置提供帮助主题。 注意 无法指定对话框显示在什么地方。 详细信息 要查看各对话的帮助主题,单击“请参阅”。 下例显示“打开”对话框然后在信息框中显示所选的文件名: Private Sub Command1_Click() ' 设置“CancelError”为 True CommonDialog1.CancelError = True On Error GoTo ErrHandler ' 设置标志 CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt|Batch Files (*.bat)|*.bat" ' 指定缺省的过滤器 CommonDialog1.FilterIndex = 2 ' 显示“打开”对话框 CommonDialog1.ShowOpen ' 显示选定文件的名字 MsgBox CommonDialog1.filename Exit Sub ErrHandler: ' 用户按了“取消”按钮 Exit Sub End Sub 参考资料:MSDN var fd = new ActiveXObject("MSComDlg.CommonDialog"); fd.Filter = "Microsoft Office Word(*.doc)|*.doc"; fd.FilterIndex = 2; // 必须设置MaxFileSize. 否则出错 fd.MaxFileSize = 128; // fd.FileName=document.all.FlSubject.value+thisform.WFStartTime.value.split(" ")[0];; // 显示对话框 fd.ShowSave(); 判断"取消"事件,可判断fd.flags为0,或fd.FileName为空。
基于Access数据库开发商场管理系统 目前在商场里要处理大量的商品信息,更需要及时更新和反馈销售的商品信息,同 时需要合理有效的数据库结构来存储各种各样商品的信息,有效的程序结构支持各种数 据操作的执行显得很重要。基于access数据库开发商场管理系统,该系统能对商场的运 营情况做随时的了解,从而提高商场的运营效率。 引 言 商场的商品管理是商场日常管理的重要内容,利用商场管理系统,商场能够把商品 采购(生产)、销售和库存很好的结合起来,及时有效地把销售状况反馈到采购(生产 )部门,使得商场可以更好的做到合理采购(生产)、及时销售、保持安全库存量以及 减少商品积压,从而提高商场运作的总体效率。更重要的是通过它可以随时对商场某一 时间段的销售情况进行查询,使管理者能够及时的获取商场整体运营情况。 1.需求分析 根据商场在运营中遇到的实际情况,商场管理系统应具有以下功能:必须对库存的 商品的类型、数量、条形码、规格型号等信息进行记录;商品入库时系统要自动进行记 录,同时修改库存等相关信息;商品销售出后也要系统自动进行记录,同时修改相关信 息。系统还要提供一系列的报表,以及对各项资料记录可以进行查询,为管理者提供参 考。最后,系统还应允许管理者对商品信息和库存信息进行添加和修改,以适应各种需 求。 2.系统的设计与实现 2.1系统功能 商场管理系统主要包括5个模块的内容:系统设置、基本信息、商品流转、查询、 报表。每个子模块又分几个子模块来完成对应的功能,系统所有功能模块如下图图1所示 。 2.2主要数据表设计 员工资料表:员工id、姓名、职位、性别、籍贯、年龄、民族、健康状况、婚姻状 况、身份证号、家庭地址、手机号码、家庭电话、备注。 供货商资料表:供货商id、公司名称、联系人姓名、联系人职务、公司电话、公司 地址、城市、省份、国家、公司网址、备注。 商品资料表:商品id、条形码、拼音码、商品名称、计量单位、商品品牌、规格型 号、所属类别、库存数量、采购单价、零售单价、最高库存、最低库存、商品产地、供 货商id、备注。 采购(生产)商品表:采购单id、商品id、供货商id、采购数量、采购单价、采购 金额、采购日期、采购员工id、备注。 销售商品表:销售id、销售时间、优惠折扣、优惠原因、金额、应收账款、是否结 账、付款方式、销售员工id、备注。 损耗(退货)商品表:商品id、条形码、拼音码、商品名称、计量单位、商品品牌 、规格型号、所属类别、损耗(退货)数量、采购单价、处理方式、商品产地、供货商 id、备注。 通过公共字段建立表和表之间的关系,并实施参照完整性。 2.3窗体设计 设计的窗体有:商场管理系统主窗体、系统设置窗体、员工资料管理窗体、商品资 料管理、供货商资料管理、采购(生产)商品管理窗体、销售商品管理窗体。每个窗体 的界面都要求对用户友好,方便用户输入、修改相关数据,窗体设计为有模式弹出窗体 ,保证关闭当前窗体后才能对其它窗体进行操作。 2.4查询的创建 创建的查询都可以以查询窗体的形式实现,这样查询的时候人机交互比较好。创建 的查询有:供货商资料查询、商品资料查询、采购(生产)商品查询、销售商品查询。 2.5报表的创建 根据商场的实际需要,创建日销售统计报表、月销售统计报表、年销售统计报表、 需采购(生产)商品报表。 2.6部分主要代码 2.6.1在"销售商品管理"窗体内的"选择商品"按钮的单击事件中的代码如下 private sub 选择商品_click() on error goto err_选择商品_click '判断"销售id"文本框是否为空 if isnull(me![销售id]) = true then '弹出提示"销售id"文本框不可以为空信息 msgbox "请输入" 销售id",不可为空! ",vbokonly,"输入" 销售id"" '把光标置于"销售id"文本框内 me! [销售id].setfocus '退出子过程 exit sub elseif isnull(me![销售员工id]) = true then msgbox "请输入"销售员工id",不可为空! ",vbokonly,"输入"销售员工id"" me! [销售员工id].setfocus exit sub else '把窗体中"销售id"文本框内的值赋予vararray(0) vararray(0) = me! [销售id] vararray(1) = me! [销售员工id] '打开"商品资料查询"窗体 docmd.openform "商品资料查询", acnormal, , , , acwindownormal end if '使"计算金额"按钮处于可用状态 me![计算金额].enabled = true exit_选择商
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 型、接口类型、委托类型和数组类型。 变量的类型声明 变量的类型声明 每个变量必须预先声明其类型。如 int a; int b = 100; float j = 4.5; string s1; 用 object 可以表示所有的类型。 预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例 object o = null; 范围 string sbyte short int long string s = "hello"; sbyte val = 12; short val = 12; int val = 12; long val1 = 12; -128 到 127 -32,768 到 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808 到 第1页 C#(WINFORM)学习 long val2 = 34L; 到 9,223,372,036,854,775,807 byte ushort 8 位无符号整型 16 位无符号整型 byte val1 = 12; ushort val1 = 12; uint val1 = 12; uint 32 位无符号整型 uint val2 = 34U; ulong val1 = 12; ulong val2 = 34U; ulong 64 位无符号整型 ulong val3 = 56L; ulong val4 = 78UL; float 单精度浮点型 float val = 1.23F;7 位 double val1 = 1.23; double 双精度浮点型 double val2 = ±5.0 × 10?324 ±1.7 × 10 308 0 到 255 0 到 65,535 0 到 4,294,967,295 0 到 18,446,744,073,709,551,615 ±1.5 × 10?45 ±3.4 × 10 38 到 到 4.56D;15-16 布尔型;bool 值或为 真或为假 字符类型;char 值是 一个 Unicode 字符 精确的小数类型, 具有 28 个有效数字 bool val1 = true; bool val2 = false; char val = 'h'; decimal val = bool char decimal DateTime ±1.0 × 10?28 ±7.9 × 10 28 到 1.23M;28-29 变量转换 简单转换: float f = 100.1234f; 可以用括号转换: short s = (short)f 也可以利用 Convert 方法来转换: string s1; s1=Convert.ToString(a); MessageBox.Show(s1); 常用 Convert 方法有: 第2页 C#(WINFORM)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 Convert.ToSByte Convert.ToSingle Convert.ToString Convert.ToUInt16 Convert.ToUInt32 Convert.ToUInt64 备注 Math 类 常用科学计算方法: C# Math.Abs Math.Sqrt Math.Ro

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧