注册 登录
编程论坛 VB6论坛

如何实现

pan258 发布于 2016-08-06 11:43, 1054 次点击
在vb中从多个不同界面(如from1、from2、from3等)进入一个界面(如from4)可以写成from8.show,但是当从from4返回到上一界面时应该怎样写呢?也就是说刚才从from1进入到from4的,现在要要从from4返回到from1,而不返回到其他的界面。就是从哪个界面进来的就返回到哪个界面上去,这该怎么实现呢,谢谢!
5 回复
#2
tanjh2016-08-06 15:09
关闭了不就自动返回了吗?
#3
pan2582016-08-06 16:48
回复 2楼 tanjh
不行啊,关闭了就关闭了,怎么会回到之前的界面呢,好像要用到全局变量,但是我不会
#4
风吹过b2016-08-06 18:22
有二种方法。
一种是 使用模式窗口。
----form1------
me.Hide              '隐藏自己
form8.show vbModal   '以模式窗口调用 from8 ,此时此处代码会暂停执行
me.show              '调用完毕后,就会继续执行,从而显示自己

===================
一种是使用全局变量,代码里缺少错误检测
------定义---------
public fr as Form    '定义在模块文件中
----显示窗体是--------
set fr=me            '保存调用者对象
me.hide              '不能关,关了 fr 就没值了,就无法再次显示
form8.show
------完毕返回----------
sub form_unload   '在关闭事件中
fr.show           '把保存的窗口显示出来
end sub
==================

---------------------
还有一种是已知具体哪个窗体,并且确保该窗体只能有一个时,使用数字来标识是哪个窗体调用的,然后返回时,根据数字来打开哪个窗体。
这种不写例子了,不建议这种。

#5
pan2582016-08-06 18:48
回复 4楼 风吹过b
非常感谢!
#6
pan2582016-08-06 21:00
回复 4楼 风吹过b
刚才我试了一下第一种方法,假如还有form8的下一步是form9,当点击下一步时,关闭了form8,弹出form9,但是之前的form1或者form2也跟着弹出来了,请问这怎么解决,谢谢您的回复!
1