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毫秒