title: copy chart control to new form
body: <p>Is there a way to copy a chart control to a new form?
  I have a Windows Form with a chart control on it, but the form is not allowed to be resizable. For that reason I have a button "Zoom" that opens the chart in a new form that is resizable. I have set a lot of chart properties in the "original" chart (axis color, axis intervalls etc.) and would like to just reuse this properties. I tried to call the constructor of the new form with the chart as parameter, but that didn't work.</p>
  
  <pre><code>public ZoomChartSeriesForm(Chart myChart)
  </code></pre>
  
  <p>My main problem is, that I allow zooming inside of the chart and that crashes, when I just copy the chart.</p>
  
  <p>Here is the code of my "original chart" (example):</p>
  
     <pre class="lang-cs prettyprint-override"><code>        System.Drawing.Color color = System.Drawing.Color.Red;
          //plot new doublelist
          var series = new Series
          {
              Name = "Series2",
              Color = color,
              ChartType = SeriesChartType.Line,
              ChartArea = "ChartArea1",
              IsXValueIndexed = true,
          };
  
          this.chart1.Series.Add(series);
  
          List&lt;double&gt; doubleList = new List&lt;double&gt;();
          doubleList.Add(1.0);
          doubleList.Add(5.0);
          doubleList.Add(3.0);
          doubleList.Add(1.0);
          doubleList.Add(4.0);
  
          series.Points.DataBindY(doubleList);
  
          var chartArea = chart1.ChartAreas["ChartArea1"];
          LabelStyle ls = new LabelStyle();
          ls.ForeColor = color;
          Axis a = chartArea.AxisY;
          a.TitleForeColor = color; //color of axis title
          a.MajorTickMark.LineColor = color; //color of ticks                  
          a.LabelStyle = ls; //color of tick labels
  
          chartArea.Visible = true;
          chartArea.AxisY.Title = "TEST";
          chartArea.RecalculateAxesScale();
          chartArea.AxisX.Minimum = 1;
          chartArea.AxisX.Maximum = doubleList.Count;
  
          // Set automatic scrolling 
          chartArea.CursorX.AutoScroll = true;
          chartArea.CursorY.AutoScroll = true;
          // Allow user to select area for zooming
          chartArea.CursorX.IsUserEnabled = true;
          chartArea.CursorX.IsUserSelectionEnabled = true;
          chartArea.CursorY.IsUserEnabled = true;
          chartArea.CursorY.IsUserSelectionEnabled = true;
          // Set automatic zooming
          chartArea.AxisX.ScaleView.Zoomable = true;
          chartArea.AxisY.ScaleView.Zoomable = true;
          chartArea.AxisX.ScrollBar.IsPositionedInside = true;
          chartArea.AxisY.ScrollBar.IsPositionedInside = true;
          //reset zoom
          chartArea.AxisX.ScaleView.ZoomReset();
          chartArea.AxisY.ScaleView.ZoomReset();
  
          chart1.Invalidate();
  </code></pre>