先动态生成一张Chart表在主界面上,
#region 动态创建一个表
//先动态创建一个chart表
ChartArea charArea = new ChartArea();
chart1.ChartAreas.Add(charArea);
Series s1 = new Series();
chart1.Series.Add(s1);
#region 定义chart表的初始位置和初始的宽和高,可以封装成方法
chart1.Location = new System.Drawing.Point(initPointX, initPointY);//给才显示出来的chart表初始位置
chart1.Width = initWidth;//默认的初始宽值
chart1.Height = initHeight;//默认的初始高值
#endregion
Title title1 = new Title();
title1.Text = "双击图形在属性中修改图题";
chart1.Titles.Add(title1);
#endregion
private void 剪切_Click(object sender, EventArgs e)
{
My_Chart1.Visible = false; //当前要复制的Chart 隐藏起来
}
private void 复制_Click(object sender, EventArgs e)
{
//DoNothing
}
private void 删除_Click(object sender, EventArgs e)
{
My_Chart1.Visible = false;
My_Chart1 = null;
}
private void 粘贴Copy_Click(object sender, EventArgs e)
{
if (My_Chart1 != null)
{
this.Controls.Add(chart1);
chart1.Location = new Point(initPointX,initPointY);
// 把第一附图保存到内存流中
chart1.Serializer.Content = SerializationContents.Default;
MemoryStream ms = new MemoryStream();
My_Chart1.Serializer.Save(ms);
// 加载内存流中的数据到第二幅图
ms.Seek(0, SeekOrigin.Begin);
chart1.Serializer.Load(ms);
ms.Close();
}
else
{
MessageBox.Show("您未进行复制或剪切操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}