c#新建一个窗体Form1,那可以用Form1 frm1 = new Form1();来表示当前窗体吗?或者说只能使用this?

如题所述

form1和this分别代表了同一个类(Form1)的两个不同的对象,类实例化之后才能成为对象,才可以调用成员方法和成员变量,不同的对象调用的是个字的成员方法,所以:form1的close方法不能关闭this所代表的当前窗体,亦即,form1是一个新窗体对象,与this所代表的当前窗体,无关!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-07
Form1 frm1 = new Form1();
frm1.hide();可以,但是frm1.close();就不行了。close必须用this才生效本回答被网友采纳
第2个回答  2013-11-30
this就可以了,何必那么麻烦,,,
Form1 frm1 = new Form1();一般都是用在子窗体里来获取父窗体的对象追问

Form1 frm1 = new Form1();
frm1不能代表当前窗体?
我用this.close()方法可以关闭当前窗体
但是frm1.close()就不行

追答

不可以的,,你等于是先创建了一个form类 又不是本实例

另外close不一定能完全关闭窗体,你可以看看任务管理器还有没有你的进程

第3个回答  2013-11-30
不可以。
因为你的frm1是一个全新的对象。跟你当前的Form1窗体完全没有关系。
第4个回答  2013-11-30
不可以,你当前的窗体已经是哥实例了,这句话是在重新创建一个新的实例。
相似回答