WinFrom(Windows的窗体应用)的chart控件画折线图

1.问题:Form1_Load() 不执行

问题产生的原因:代码中的Form1_Load()方法不是自动生成的,而是自己手动写的。所以里面有些配置没修改,导致Form1_Load()无效

解决方法一: 删除这个方法,然后到设计界面那里,双击界面后,会发现自动生成了Form1_load(),然后再进行代码编写。

解决方法二: 在 public Form1(){}里增加一句代码,如下

this.Load += new EventHandler(Form1_Load);

2.代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {

        //public Form是类的构造函数,负责对类成员进行初始化工作。比如所有控件的创建、指定大小、位置等等。
        //习惯上构造函数会调用InitializeComponent来实现窗体的初始化工作(初始化为设计模式中指定的状态)。
        public Form1()
        {
            InitializeComponent();
            //this.Load += new EventHandler(Form1_Load);
        }

        //一般写程序你把自己要初始化的东东可以放在Form1_Load中,当然也可以在InitializeComponent中,那就要重载InitializeComponent了。
        //Form_Load窗体加载方法,用来图形界面,这时候可以设置一些窗体属性
        private void Form1_Load_1(object sender, EventArgs e)
        {
            int[] arrt = new int[] { 94, 25, 12, 36, 89, 13, 45, 12, 10, 69, 12, 0, 12, 56 };
            Draw(arrt);
        }

        /// <summary>
        /// 画折线图
        /// </summary>
        /// <param name="arrt"></param>
        public void Draw(int[] arrt)
        {
            chart1.Series.Clear();
            Series series = new Series("C1");
            series.ChartType = SeriesChartType.Line;
            series.IsValueShownAsLabel = true;
            chart1.ChartAreas[0].AxisY.MajorGrid.Interval = 1;//ChartAreas[0]想要获取或设置的元素从0开始的索引
            chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.LightBlue;//横的Y网格线颜色
            chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.LightGray;//竖的X网格线颜色
            chart1.ChartAreas[0].AxisY.Interval = 10; //设置Y轴的刻度间距

            for(int i = 0; i < arrt.Length; i++)
            {
                series.Points.AddXY(i, arrt[i]);
            }
            //把series添加到chart上
            chart1.Series.Add(series);
        }

        private void chart1_Click(object sender, EventArgs e)
        {

        }

        
    }
}

3.绘图(不太美观,逐渐修改中)

WinFrom(Windows的窗体应用)的chart控件画折线图

4.整理参考

(1)c# -- Form1_Load()不被执行的三个解决方法 - lmei - 博客园

(2)WinForm的Chart控件画折线图 - 无~道 - 博客园

上一篇:Windows Sever 2008 备份与恢复


下一篇:Flutter 开启 Windows、macOS 平台支持的命令