VB 版 (精华区)
发信人: zxfsnow (别怕我伤心), 信区: VB
标 题: 如何是程序暂停,按任意键继续
发信站: 哈工大紫丁香 (2000年05月31日12:27:40 星期三), 转信
信人: ming (chat* ?), 信区: VB
标 题: Re: 我有一个问题请教
发信站: 虎踞龙盘东南站 (Sun Mar 5 16:45:54 2000), 转信
用msgbox是最简单的,Keri的方法不可行
因为VB程序的执行是异步的,所以,在你
显示出那个窗体的时候,程序并没有停在
那里等你关闭窗体,而是继续执行了。
这里,我们假设,form1 里面按按钮后显示 form2 ,form2在收到任何一个
按键后返回, 并在 form1 上打印一串字符串。
在通用模块 module1 里面定义一个全局变量 ContiueDo
Public ContinueDo As Boolean
在 form1 中加入如下代码:
Private Sub Command1_Click()
Form2.Show
ContinueDo = False
While ContinueDo = False
DoEvents
Wend
Form1.Print "asdfkjasd"
End Sub
在 form2 中加入如下代码:
Private Sub Form_KeyPress(KeyAscii As Integer)
Unload Form2
End Sub
Private Sub Form_Unload(Cancel As Integer)
ContinueDo = True
End Sub
这样,form1 在显示了 form2 以后就等待 ContinueDo 这个变量
变为 True. form2 的 Form_Unload 在关闭 form2 窗体后使ContinueDo
变为 True. 这样 form1 的程序得以继续执行。
还有一个要注意的地方,如果你的 form2 上面有其他控件,那么
你必须在有 keypress 事件的控件上对 keypress 事件同样编程,
都写上这么一句:
Call Form_KeyPress(KeyAscii)
--
每一刻都存在,不一样的精彩
※ 修改:.ming 于 Mar 5 16:50:20 修改本文.[FROM: 202.119.29.47]
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.080毫秒