Winform中怎样跨窗体获取另一窗体的控件对象
程序员文章站
2022-05-01 09:30:04
场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101375325 之前写过使用存取全局对象的方式去跨窗体获取控件对象。 在主窗体中有一 ......
场景
winform中实现跨窗体获取zedgraph的zedgraphcontrol控件对象:
https://blog.csdn.net/badao_liumang_qizhi/article/details/101375325
之前写过使用存取全局对象的方式去跨窗体获取控件对象。
在主窗体中有一个zedgraphcontrol控件,如果要在本窗体获取此控件对象则通过:
this.zedgraphcontrol1
其中zedgraphcontrol1是控件zedgraphcontrol的name属性。
如果在另一个窗体中获取此控件对象并对其进行属性设置的话,正常逻辑是
声明主窗体对象main,然后main.zedgraphcontrol1去调用。
但是试过之后发现却不能对其属性进行更改。
因为每次new 出来是一个新的对象,并不是想获取的控件对象
注:
博客主页:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
现在要在frmpdfoption这个窗体中获取mainviewcontent这个窗体的zedgraph控件。
在mainviewcontent窗体中,声明一个public的静态的当前窗体对象:
public static mainviewcontent mainviewcontent;
然后在mainviewcontent的构造方法中将this即当前窗体对象赋值给上面的窗体对象:
public mainviewcontent() { initializecomponent(); mainviewcontent = this; }
然后在要调用当前mainviewcontent的窗体中获取其控件:
system.drawing.image image = mainviewcontent.mainviewcontent.zedgraphcontrol1.getimage();
这里是直接获取mainviewcontent中zedgraphcontrol1的image对象。