首先,借鉴了http://bbs.youkuaiyun.com/topics/110032302这篇帖子,多谢提供的给力方法。选取了一种简洁明了的方法来摘要。
public static yourMainWindow pCurrentWin = null;
然后在主窗体构造函数中,给静态成员初始化,如下:
pCurrentWin = this;
那么在子窗体中调用父窗体,可以通过“主窗体类名. pCurrentWin”来操作当前的主窗体。
(心得:相当于标志出一个窗体的实例供整个程序任意地方使用。)
//我是初学者,下面的还没弄清楚怎么用,留以借鉴。
不过以上所作的,只是让你能够访问当前主窗体对象,那么如何操作控件,很多人直接修改控件的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:public string ButtonText
{
get{ return btn.Text;}
set{ btn.Text = value;}
}
public void Button_Click()
{
this.btnDConvert.PerformClick();//Execute button click
}