ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-02-20 15:02:42  阅读:182  来源: 互联网

标签:Load 控件 Windows WinFrom System chart1 Form1 series using


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控件画折线图 - 无~道 - 博客园

标签:Load,控件,Windows,WinFrom,System,chart1,Form1,series,using
来源: https://blog.csdn.net/qq_41867007/article/details/123030993

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有