您的位置:程序门 -> .net技术 -> vb.net



关于form1 中调用form2,第二次调用就会出错????


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于form1 中调用form2,第二次调用就会出错????[已结贴,结贴人:tanhui_gs]
发表于:2007-01-18 16:15:33 楼主
public   class   form1
        private   frm2   as   form2
        private   sub   button1_click(byval   sender   as   system.object,   byval   e   as   system.eventargs)   handles   button1.click
                if   frm2   is   nothing   then
                        frm2   =   new   form2
                end   if

                frm2.show()
        end   sub
end   class
关于form1   中调用form2,当显示出了frm2,然后,关闭这个窗体,第二次调用就会出错????
发表于:2007-01-18 16:21:051楼 得分:0
当然了,form2在关闭时对象已经被释放了,
你要么把form2定义到方法体里面,
要么在form2点关闭时掉用它的hide方法
发表于:2007-01-18 16:22:282楼 得分:10
这样再试试:
public   class   form1
        private   frm2   as   form2
        private   sub   button1_click(byval   sender   as   system.object,   byval   e   as   system.eventargs)   handles   button1.click
                if   ((frm2   is   nothing)   orelse   frm2.isdisposed)   then
                        frm2   =   new   form2
                end   if

                frm2.show()
        end   sub
end   class

发表于:2007-01-18 16:44:293楼 得分:0
frm2   is   nothing   与frm2.isdisposed的区别   是什么的
大哥们一般怎么判断呢,怎样判断一个form是否卸了呢
发表于:2007-01-18 16:48:254楼 得分:0
hbxtlhx(平民百姓)兄弟的,也不行呀,说对象没有创建实列
发表于:2007-01-18 16:59:265楼 得分:0
还有人知道吗?帮下小弟呀
发表于:2007-01-18 17:07:396楼 得分:0
怎么会呢?
if   ((frm2   is   nothing)   orelse   frm2.isdisposed)   then
        me.frm2   =   new   form
end   if
应该没有问题才对啊,(frm2   is   nothing)应是先执行,然后才判读frm2.isdisposed的值,
我这里都是试过的没有问题啊.
楼主再看看,我也再看看.
发表于:2007-01-18 17:11:537楼 得分:0
hbxtlhx(平民百姓)   frm2   is   nothing   与frm2.isdisposed的区别是什么
发表于:2007-01-18 17:18:498楼 得分:10
frm2   is   nothing   与frm2.isdisposed的区别是什么
------------------------
frm2在定义后没有初始化的时候就是nothing,
frm2在用new后就不再是nothing了,这时可以调用其所有的方法,
frm2在用户关闭后会释放资源,frm2的isdisposed属性变为true,这时的frm2就不能再被使用了,
但这个时候frm2并不是nothing,只是isdisposed为true了.

所以由上面的几个情况得出:
frm2   is   nothing   要用   new   form
frm2.isdisposed   也要用     new   form

发表于:2007-01-18 17:21:029楼 得分:0
hbxtlhx(平民百姓)   兄弟,真是个大好人,交您这个朋友啦,我怎样给分啦
发表于:2007-01-18 17:39:5410楼 得分:0
在贴子上面有一个管理的链接就可以了:)


快速检索

最新资讯
热门点击