基本信息
源码名称:CHART时间曲线实时移动图实例
源码大小:1.22M
文件格式:.rar
开发语言:C#
更新时间:2020-01-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
时间曲线实时移动图实例

/* ***********************************************
 * Author		:  wolfxin2010
 * Email		:  wolfxin2010@163.com
 * DateTime		:  2012-08-10 17:03:23
 * Description	:  Teechart控件实例:X坐标轴以时间显示,并实时更新X坐标时间(条件:绘画坐标点超过50个时)
 *
 * ***********************************************/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DemoTeechart
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            fastLine1.Add(DateTime.Now.ToOADate(), 1000);

            fastLine1.GetVertAxis.SetMinMax(0, 1500);
            fastLine1.GetHorizAxis.SetMinMax(DateTime.Now, DateTime.Now.AddSeconds(120));
        }
        Random rnd= new Random();
        private void AnimateSeries(Steema.TeeChart.TChart chart)
        {
         
            double newX, newY;
         
            chart.AutoRepaint = false;
           
            /// <summary>
            /// 绘画坐标点超过50个时将实时更新X时间坐标
            /// </summary>
            while (this.fastLine1.Count > 50)
            {
                this.fastLine1.Delete(0);
                fastLine1.GetHorizAxis.SetMinMax(DateTime.Now.AddSeconds(-50), DateTime.Now.AddSeconds(60));
            }
                          
            newX = DateTime.Now.ToOADate();
            newY =  rnd.Next(1500);
            if(Math.Abs(newY)> 1.0e 4) newY =0.0;
            fastLine1.Add(newX,newY);

            chart.AutoRepaint = true;
            chart.Refresh();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            AnimateSeries(this.tChart1);
        }
    }
}