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.绘图(不太美观,逐渐修改中)
4.整理参考
(1)c# -- Form1_Load()不被执行的三个解决方法 - lmei - 博客园
(2)WinForm的Chart控件画折线图 - 无~道 - 博客园