日期:2014-05-18  浏览次数:20737 次

this在这里是什么意思?
在多窗体调用中,不太清楚this的用法。
在Form1窗体中button控件的button_click事件中,有如下代码:
Form2 f = new Form();
f.ShowDialog(this);
请问这里的this是什么意思,代表哪一个类或对象?

------解决方案--------------------
引用楼主 hengyi82 的帖子:
在多窗体调用中,不太清楚this的用法。
在Form1窗体中button控件的button_click事件中,有如下代码:
Form2 f = new Form();
f.ShowDialog(this);
请问这里的this是什么意思,代表哪一个类或对象?

------解决方案--------------------
代表的就是你写此代码的当前窗体了,你这样做是不是要在另个窗体中用此窗体的某个控件
如不是,单纯的显示模式化对话框无须加那个this

------解决方案--------------------
class XXX
{
this. ..
}

this代表类本身
具体到窗口
class XXXform:form
{
this. ..
}
this 就是XXXform本身

你可以设置中断鼠标停在this上或者添加监视来看this的值
------解决方案--------------------
呵呵,貌似 THIS在开发语言里几乎都是当前的意思
 LZ的THIS 表示的是当前的窗体,就是说,把自己传递过去,在另一个窗体也可以使用
 不过要使用控件的话,就注意修饰访问符的级别 最好自己写属性

------解决方案--------------------
说错了,控件是写属性,不是方法...晕..
------解决方案--------------------
this 就是Form1
平时是为了能在子窗体(Form2)中,调用主窗体(fORM1)中的方法、属性。。。,或用于更新主窗体