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

 我来答
刀名阿里噶
2013-11-30 · 超过24用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:20.2万
展开全部
form1和this分别代表了同一个类(Form1)的两个不同的对象,类实例化之后才能成为对象,才可以调用成员方法和成员变量,不同的对象调用的是个字的成员方法,所以:form1的close方法不能关闭this所代表的当前窗体,亦即,form1是一个新窗体对象,与this所代表的当前窗体,无关!
禟66
推荐于2018-04-07 · 超过28用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:32.9万
展开全部
Form1 frm1 = new Form1();
frm1.hide();可以,但是frm1.close();就不行了。close必须用this才生效
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怪微风太温柔Cide1
2013-11-30 · TA获得超过153个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:177万
展开全部
this就可以了,何必那么麻烦,,,
Form1 frm1 = new Form1();一般都是用在子窗体里来获取父窗体的对象
追问
Form1 frm1 = new Form1();
frm1不能代表当前窗体?
我用this.close()方法可以关闭当前窗体
但是frm1.close()就不行
追答
不可以的,,你等于是先创建了一个form类  又不是本实例

另外close不一定能完全关闭窗体,你可以看看任务管理器还有没有你的进程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linux001
2013-11-30 · TA获得超过1401个赞
知道大有可为答主
回答量:1665
采纳率:100%
帮助的人:1352万
展开全部
不可以。
因为你的frm1是一个全新的对象。跟你当前的Form1窗体完全没有关系。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
khpoqtn7
2013-11-30 · 超过16用户采纳过TA的回答
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:58.3万
展开全部
不可以,你当前的窗体已经是哥实例了,这句话是在重新创建一个新的实例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式