Form2 f2 = new Form2(this)中this指的是什么 C#

父窗体:privatevoidbutton1_Click(objectsender,EventArgse){Form2f2=newForm2(this);f2.TopLe... 父窗体:

private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}

子窗体:
private Form1 _f1;

public Form2(Form1 f1): this()
{
this._f1 = f1;
}
谢谢你们的回答,但满意答案只有一个,所以,,,
展开
 我来答
actonst
2013-08-15 · TA获得超过1.8万个赞
知道大有可为答主
回答量:8184
采纳率:80%
帮助的人:5151万
展开全部
this指的是本对象,也就是当前对象。

Form2 f2 = new Form2(this);
这个this指的是父窗体自己,即为Form1的对象。这是在建立Form2的子窗体对象f2时,把父窗体的地址当参数传给子窗体f2,作为子窗体的私有成员。
这样f2就可以与父窗体有联系,直接从f2访问父窗体了。

this._f1 = f1; //把参数f1赋给Form2的私有成员_f1
追问
那我这么写为什么出错,怎么改
Form2 f2 = new Form2(this);//错误 1 关键字“this”在当前上下文中不可用
private void button1_Click(object sender, EventArgs e)
{
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
好像可以了,是我想太多了
Pasca101
2013-08-15
知道答主
回答量:5
采纳率:0%
帮助的人:3万
展开全部
第一个方法中的 this 表示当前正在实例化Form2 的这个窗体
第二个方法中的this 表示 Form2
总之 this 就是本窗体的意思.
更多追问追答
追问
那我这么写为什么出错,怎么改
Form2 f2 = new Form2(this);//错误 1 关键字“this”在当前上下文中不可用
private void button1_Click(object sender, EventArgs e)
{
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
追答
你为什么要把 this 传进去?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzh3452
推荐于2016-06-20 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:853万
展开全部
this是当前窗体,也就是父窗体自己,这么写指定了两个窗体的父子关系,这样可以在子窗体中直接取得父窗体的控件上的值,以及一些变量的值。
更多追问追答
追问
那我这么写为什么出错,怎么改
Form2 f2 = new Form2(this);//错误 1 关键字“this”在当前上下文中不可用
private void button1_Click(object sender, EventArgs e)
{
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
追答
是C#的winform么?这个我记得this应该是写在f2.Show(this)里,new的时候不写。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星空下的man
2013-08-15 · 超过32用户采纳过TA的回答
知道答主
回答量:167
采纳率:50%
帮助的人:39.6万
展开全部
this指的是当前操作对象,button1
更多追问追答
追问
那我这么写为什么出错,怎么改
Form2 f2 = new Form2(this);//错误 1 关键字“this”在当前上下文中不可用
private void button1_Click(object sender, EventArgs e)
{
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
追答
好像就不用参数吧,this去掉不行吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式