关于C#(.net)中的this
我要在Form1中显示子窗体Form2,这样写Form2f2=newForm2();f2.MdiParent=this;f2.Show();可以正常显示,后来我改成:Fo...
我要在Form1中显示子窗体Form2,这样写Form2 f2 = new Form2(); f2.MdiParent =this; f2.Show();可以正常显示,后来我改成:Form2 f2 = new Form2();
Form1 f1=new Form1();
f2.MdiParent = f1;
f2.Show();为什么就不行了呢,this不就是代表Fom1吗??为什么不行了呢? 展开
Form1 f1=new Form1();
f2.MdiParent = f1;
f2.Show();为什么就不行了呢,this不就是代表Fom1吗??为什么不行了呢? 展开
7个回答
展开全部
this不就是代表Fom1吗
-------
this不是Form1,this只表示一个对象实例,也只能在实例内部使用
-----但是按照你下面的写法我估计你明白this代表什么,不然你不会将this改为f1
Form2 f2 = new Form2();
Form1 f1=new Form1();
f2.MdiParent = f1;
f2.Show();
这段代码其实也执行了,只是f1没显示出来,要想f2显示出来,作为主窗体的f1必须要显示,所以f1.Show();也要加上
-------
this不是Form1,this只表示一个对象实例,也只能在实例内部使用
-----但是按照你下面的写法我估计你明白this代表什么,不然你不会将this改为f1
Form2 f2 = new Form2();
Form1 f1=new Form1();
f2.MdiParent = f1;
f2.Show();
这段代码其实也执行了,只是f1没显示出来,要想f2显示出来,作为主窗体的f1必须要显示,所以f1.Show();也要加上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this是只当前所在的类
第二种情况里面,实例化了一个新的Form1,此时的f1跟this代表的是两个单独的Form1实例,所以此时不能实现第一种的效果。
第二种情况里面,实例化了一个新的Form1,此时的f1跟this代表的是两个单独的Form1实例,所以此时不能实现第一种的效果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你第二句 Form1 f1=new Form1();
表示重新实例了一个新的Form1,而不是原来的那个Form1
这个时候的this和f1在内存中是两个不同的对象
表示重新实例了一个新的Form1,而不是原来的那个Form1
这个时候的this和f1在内存中是两个不同的对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你的这几个代码是在那个类里面呢?
this是指当前类的对象如果你是在form1类里 this就是代表Fom1
this是指当前类的对象如果你是在form1类里 this就是代表Fom1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Form1里这样写吧
Form2 f2 = new Form2();
f2.ShowDiloge();
Form2 f2 = new Form2();
f2.ShowDiloge();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询