欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中怎样跨窗体获取另一窗体的控件对象

程序员文章站 2022-09-01 22:38:05
场景 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对象。