ibcadmin 发表于 2019-9-26 09:20:23

Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象

<h1>场景</h1>
<p>Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性:</p>
<p>https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100112573 </p>
<p>在主窗体中有一个ZedGraphControl控件,假如要在本窗体获取此控件对象则通过:</p>

this.zedGraphControl1

<p> </p>
<p>此中zedGraphControl1是空间ZedGraphControl的name属性。</p>
<p><div align="center"></div></p>
<p> </p>
<p> </p>
<p>假如在另一个窗体中获取此控件对象并对其进行属性设置的话,正常逻辑是</p>
<p>声明主窗体对象main,然后main.zedGraphControl1去调用。</p>
<p>但是试过之后返现却不能对其属性进行更改。</p>
<p>注:</p>
<p>博客主页:<br />https://blog.csdn.net/badao_liumang_qizhi<br />关注公众号<br />霸道的程序猿<br />获取编程相干电子书、教程推送与免费下载。</p>
<h1>实现</h1>
<p>在包罗ZedGraphControl对象的主窗体中的load事件中将this.zedGraphControl1赋值给一个全局属性,然后在</p>
<p>另一个窗体中调用全局属性即可。</p>
<p>在load事件中:</p>

Global.zedGraphControl1 = this.zedGraphControl1;

<p> </p>
<p>全局属性声明:</p>

public class Global
    {
      #region 单例实现

      private static string _lockFlag = "GlobalLock";
      private static Global _instance;
      private Global()
      {

      }

      public static Global Instance
      {
            get
            {
                lock (_lockFlag)
                {
                  if (_instance == null)
                  {
                        _instance = new Global();
                  }
                  return _instance;
                }
            }
      }

      #endregion   
      
      public static ZedGraphControl zedGraphControl1;
      public ZedGraphControl ZedGraphControl1
      {
            get { return ZedGraphControl1; }
            set { ZedGraphControl1 = value; }
      }
   

      
    }

      
    }

<p> </p>
<p>在另一个窗体中调用:</p>

DataChartHelper.RefreshPane(Global.zedGraphControl1);

<p> </p><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/25/11586217.html" target="_blank">https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/25/11586217.html</a>

zmk010407 发表于 2019-10-10 11:32:01

edGraph曲线图的属性、坐标轴属性、刻度属性:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100112573

在主窗体中有一个ZedGraphControl控件,假如要在本窗体
页: [1]
查看完整版本: Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象