你可以做如此类似的处理 public a as form1frmClild 中private sub mypoc() set a=new form1 dim i as long dim frm as form for each frm in vb.forms if typename(frm)="form1" then if val(frm.tag)>i then i=val(frm.tag) endif next i=i+1 a.tag=cstr(i) a.show end sub 如此类似的便可有辨别是哪一个Form1了,当然你也可以通过其他属性判断
to haor: 只要你对a进行了赋值,即Set a=new form1后,a的值即是从form1窗体创建的新实例,和窗体是否show无关。我认为确实和SHOW无关,但是应该和 load 和 unload 有关,既然这个新实例已经unload了,a 怎么还是 form1 呢?另外:你可以用a.visible来判断窗体是否显示……我刚试过,无论是否这个用a 生成的form1新实例是否关闭,a.visible 始终为 True,而且非常奇怪的是: private sub command1_click() command1.caption=cstr(a.visible) 'a的窗口实例已经关闭了,可a.visible为true,而且执行完这句后,a的窗口又重新打开了,你们可以试试,这是不是很莫名其妙啊 end sub
to haor: "只要你对a进行了赋值,即Set a=new form1后,a的值即是从form1窗体创建的新实例,和窗体是否show无关。"我认为确实和SHOW无关,但是应该和 load 和 unload 有关,既然这个新实例已经unload了,a 怎么还是 form1 呢?"另外:你可以用a.visible来判断窗体是否显示……"我刚试过,无论是否这个用a 生成的form1新实例是否关闭,a.visible 始终为 True,而且非常奇怪的是: private sub command1_click() command1.caption=cstr(a.visible) 'a的窗口实例已经关闭了,可a.visible为true,而且执行完这句后,a的窗口又重新打开了,你们可以试试,这是不是很莫名其妙啊 end sub
所以form1关闭了,a不会同时关闭你的错误在于你认为a与form1是同一个对象
只要你对a进行了赋值,即Set a=new form1后,a的值即是从form1窗体创建的新实例,和窗体是否show无关。也就是说即使你关闭窗体,但窗体实例仍然存在,并未被释放。
另外:你可以用a.visible来判断窗体是否显示……
打开和关闭的都是从form1创建的新实例。被关闭的窗体即是a所指向的窗体。
public a as form1frmClild 中private sub mypoc()
set a=new form1
dim i as long
dim frm as form
for each frm in vb.forms
if typename(frm)="form1" then
if val(frm.tag)>i then i=val(frm.tag)
endif
next
i=i+1
a.tag=cstr(i)
a.show
end sub
如此类似的便可有辨别是哪一个Form1了,当然你也可以通过其他属性判断
只要你对a进行了赋值,即Set a=new form1后,a的值即是从form1窗体创建的新实例,和窗体是否show无关。我认为确实和SHOW无关,但是应该和 load 和 unload 有关,既然这个新实例已经unload了,a 怎么还是 form1 呢?另外:你可以用a.visible来判断窗体是否显示……我刚试过,无论是否这个用a 生成的form1新实例是否关闭,a.visible 始终为 True,而且非常奇怪的是:
private sub command1_click()
command1.caption=cstr(a.visible) 'a的窗口实例已经关闭了,可a.visible为true,而且执行完这句后,a的窗口又重新打开了,你们可以试试,这是不是很莫名其妙啊
end sub
"只要你对a进行了赋值,即Set a=new form1后,a的值即是从form1窗体创建的新实例,和窗体是否show无关。"我认为确实和SHOW无关,但是应该和 load 和 unload 有关,既然这个新实例已经unload了,a 怎么还是 form1 呢?"另外:你可以用a.visible来判断窗体是否显示……"我刚试过,无论是否这个用a 生成的form1新实例是否关闭,a.visible 始终为 True,而且非常奇怪的是:
private sub command1_click()
command1.caption=cstr(a.visible) 'a的窗口实例已经关闭了,可a.visible为true,而且执行完这句后,a的窗口又重新打开了,你们可以试试,这是不是很莫名其妙啊
end sub
我想知道的是 a 所成成的窗口是打开还是关闭了
你说的,我试过了,好象不是象你所说的那样
你自己试过了吗?
我刚才试过了用visible的确可以判断
而且我也试了你写的代码即:command1.caption=cstr(a.visible)
不存在你说的问题呀
Set a = Nothing
我又重新试了,你说的没错。昨天不知道怎么会有那个奇怪的现象的。