C#中1窗口引用2窗口控件的方法

本文介绍了一种通过静态成员变量访问当前主窗体对象的方法,简化了子窗体与主窗体之间的交互。同时,提出了通过增加公有属性或方法来操作控件的建议,以避免破坏类的封装性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  首先,借鉴了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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值