Programming 板


LINE

※ 引述《[email protected]》之铭言: > ※ [本文转录自 Visual_Basic 看板] > 作者: comduffer () 看板: Visual_Basic > 标题: [VB6 ] 请问如何使用不需确认的msgbox > 时间: Sat Jan 2 14:57:09 2010 > 因为要写的程式跑的数目过大 > 无法确定何时会当机 > 所以在中途都加上msgbox来确定进度 > 可是msgbox需要手动确定才能继续执行 > 有没有办法显示出讯息并保留在萤幕上 > 不会消失直到程式结束 原则: 用另一个FORM当输出. 并且保持此讯息FORM在前景. 工作模组结束後, 再关掉(Unload)这个讯息FORM. 工作模组可以使用 me.enabled = FALSE 关掉自己的回应. 用户不可能再按到它. 流程如下: 主工作模组(module 或 form. 底下以form为例.) 工作启动段: me.enabled=FALSE '关掉自己. module类型不须此行. outMsgForm.show '显示讯息form ..启动工作 工作中进度: 1. outMsgForm.cls '清空旧讯息. outMsgForm.print 进度文字 '显示新讯息. 用Form底版当输出区. 或 2. outMsgForm.label1.caption = 进度文字 '显示新讯息. 用Label当输出区. 工作结束段: me.enabled=TRUE '打开自己. module类型不须此行. unload outMsgForm'关掉讯息form 讯息form: 无其它功能码. 注意! 如果需要用户可以中断, 需要另加中断钮. 控制模式如下: 工作Form 讯息Form ->启动讯息Form <-用户中断 ->关掉讯息Form 当成功结束或 用户中断. 讯息Form的中断码. Private Sub Command1_Click() workform.myBreakSub '在工作form中加 Public Sub myBreakSub /End Sub End Sub 大致的流程如此. 意义上就是利用自订的FORM来当msgbox. 不必等用户回应. vb的msgbox其实也只是一个form. 只是在设计上锁住, 需要用户回应而已. 进阶的控制要注意多工特性. 上面的 workform.myBreakSub呼叫可能不是原来的工作form. 某些时候会是另 一个行程. 所以必要时将工作Form物件指明出来, 传给讯息form: 1. 工作Form: (a) 将 outMsgForm.show 改成: outMsgForm.StartMe me ' 讯息Form增加一个开放的界面StartMe(). ' 并把自己当成参数传给讯息Form. 以便能 ' 呼叫回来. (b) 增加一个中断界面, 副程序 myBreakSub() 注意! Sub myBreakSub() 一定要加Public开放外界使用. 另外, module类型的主工作程式码无法传me. 也不需要传. 直接呼叫 副程序 myBreakSub 即可, 不须要物件. Public Sub myBreakSub '中断动作. timer1.interval = 1 '1ms. (立刻执行) timer1.enabled = TRUE '执行. '注意, 一定要用时钟来间接启动中断程序. 先让讯息form完成呼叫动作. '否则: 讯息form->呼叫工作form->中断工作->unload讯息form ' |.................................^讯息form呼叫动作未结束. ' 无法正确关掉讯息form. End Sub 2. 在讯息form中加 Dim WorkHost as Object '模组层次全域变数 Public Sub StartMe (HostVar as FORM) set WorkHost = HostVar '在启动前先将启动者记下来, 以便传讯息回去. me.show End Sub 'Command1_Click改成 Sub Command1_Click() WorkHost.myBreakSub '这样就不会找错人. 因为用的是启动者传来的ꘊ '自己(物件参考). '注意. 不要自己加 unload me. 让工作Form来帮你关. End Sub Sub Form_QueryUnload.... '加码 set WorkHost = Nothing '取消启动者的物件参考. End Sub -- 枫桥艺文站正式开张!˙˙ 驿˙ 竟然不是 ‵            ▋ │▉▄▅▆ 红萝卜!▄▅▇ ; 快来寻找你爱的作家。 ▃▆ /\ ◣▃  为你呕心沥血的作品找个窝。 === 文学版+美工板,强烈邀请您。 ◣▁▂ . tommy从61.229.169.25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP