C#窗体中Chart功能不能保存吗,每次保存后重新打开项目就会报错

C#中Chart图标功能不能保存吗,每次保存后重新打开项目就会报错

你可以尝试使用Chart控件的SaveImage方法来保存Chart图表,你可以指定图表的格式,例如PNG,JPG等。此外,你还可以尝试检查Chart控件的相关配置是否正确,确保Chart控件的属性设置正确,以及确保你的Chart控件的数据源是正确的。

Chart图表是一种图形控件,它可以让我们在C#程序中创建图表,但它不能保存到项目中。需要将Chart图表另存为图片格式,然后在项目中再次载入该图片即可。

另外,Chart图表在重新打开项目时可能会报错,这是因为系统会检查Chart图表的个性化设置,如果没有找到,则会报错。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/674457
  • 你也可以参考下这篇文章:C#中如何使用Chart图表
  • 除此之外, 这篇博客: C# Chart控件中的 Chart 画柱形图,环形图,折线图 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    chart图形显示

    chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Doughnut;//环形图
    chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;//柱形图
     chart1.Series[Prod].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;//线段          
    

    chart 属性
    是否显示双Y轴

    chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.True;//启用Y2
    this.chart1.ChartAreas[0].AxisY2.Maximum = 100;//设置Y2最大值
    this.chart1.ChartAreas[0].AxisY2.Title = Mes.Core.Utility.StrUtil.Translate(Ytitle); 
    this.chart1.Series[Prod].YAxisType = AxisType.Secondary;//将series的值与Y2联系
    

    设置坐标轴刻度字体大小

    chart1.ChartAreas[0].AxisY.TitleFont = new Font("宋体", 8F);//坐标轴标题字体大小
    chart1.ChartAreas[0].AxisX.TitleFont = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisY2.TitleFont = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisX.LabelStyle.Font = new Font("宋体", 8F);//坐标轴刻度字体大小
    chart1.ChartAreas[0].AxisY.LabelStyle.Font = new Font("宋体", 8F);
    chart1.ChartAreas[0].AxisY2.LabelStyle.Font = new Font("宋体", 8F);
    

    设置Chart标题

     public void SetChartTitle(string Title)
            {
                this.chart1.Titles.Add(Title);        
            }
    

    取消X/Y辅助线

     this.chart1.ChartAreas[0].AxisY2.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisX2.MajorGrid.Enabled = false;
                this.chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
    

    设置X/Y名称

      public void SetChartName(string XTitle, string Ytitle)
            {
                this.chart1.ChartAreas[0].AxisX.Title = Mes.Core.Utility.StrUtil.Translate(XTitle);
                this.chart1.ChartAreas[0].AxisY.Title = Mes.Core.Utility.StrUtil.Translate(Ytitle);
            }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^