c#winform图表控件使用示例
公司有个需求,需要做嵌入式开发,跟硬件通信,把数据实时展示到winform中,网上查了资料,先写下个demo备用,到时候接入socket通信就完成了,具体效果如图

实现的原理是把最开始的数据去掉,加入新的数据,接着不停的绑定曲线数据,就能达到曲线实时展示的效果了
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
lb_shebei.Text = "等待设备连接";
c1.ChartAreas[].Axes[].MajorGrid.Enabled = false;//X轴上网格
c1.ChartAreas[].Axes[].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //y轴网格类型 短横线
c1.ChartAreas[].Axes[].MajorGrid.LineColor = Color.Gray;//Y轴网格线颜色
c1.ChartAreas[].Axes[].MajorTickMark.Enabled = false;// x轴上突出的小点
c1.ChartAreas[].AxisX.Enabled = AxisEnabled.False;//设置x轴不显示
c1.ChartAreas[].Axes[].MajorTickMark.Enabled = false;//y轴上突出的小点
c1.ChartAreas[].Axes[].IsInterlaced = false; //显示交错带
//c1.ChartAreas[0].Axes[0].LabelStyle.Format = "#年"; //设置X轴显示样式
c1.Series[].IsValueShownAsLabel = true;//曲线点是否显示值
c1.Legends[].Docking = Docking.Bottom;//调整图例位置
c1.Legends[].Alignment = StringAlignment.Center;//调整图例位置
c1.Series[].ChartType = SeriesChartType.Spline;//图表类型
c1.Series[].MarkerStyle = MarkerStyle.None; //标记点类型
c1.Series[].XValueType = ChartValueType.Time;//x轴坐标类型
c1.Series[].Name = "应力监测";
//c1.Series[0].IsValueShownAsLabel = true;//显示数值 Thread t1 = new Thread(MyLine);
t1.IsBackground = true;
t1.Start();
}
List<DateTime> xlist = new List<DateTime>();
List<int> ylist = new List<int>();
void BindData()
{
Random rd = new Random();
DateTime dt = DateTime.Now;
ylist.Add(rd.Next(-, ));
xlist.Add(dt);
if (xlist.Count > )
{
ylist.Remove(ylist[]);
xlist.Remove(xlist[]);
}
}
public void MyLine()
{
while (true)
{
BindData();
BindZp(xlist, ylist);
Thread.Sleep();
}
}
delegate void SetXCallback(List<DateTime> x, List<int> y);
void BindZp(List<DateTime> x, List<int> y)
{
if (c1.InvokeRequired)
{
SetXCallback d = new SetXCallback(BindZp);
this.Invoke(d, new object[] { x, y });
}
else
{
c1.Series[].Points.DataBindXY(x, y);//绑定数据
}
}
private void btn_out_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("正在数据传输,确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (dr == DialogResult.OK)
{
Application.Exit();
this.Dispose();
this.Close();
}
}
}
c#winform图表控件使用示例的更多相关文章
- asp.net微软图表控件使用示例
		<configuration> <system.webServer> <handlers> <remove name="ChartImageHand ... 
- 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
		回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ... 
- .net chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll
		这个案例指在介绍微软这套免费又功能强大的图表控件Microsoft Chart Controls for Microsoft .NET Framework 3.5,通过它,可让您的项目及报表,轻松套用 ... 
- 微软Charting图表控件 System.Web.UI.DataVisuliztion.Charting
		一.概述 基于.NET Framework 3.5 SP1的图表控件--Chart,可在WinForm和WebForm下使用!需要引入System.Web.DataVisualization.dll ... 
- 问题:MSChart.exe;结果:微软图表控件MsChart使用方法及各种插件下载地址
		微软图表控件MsChart使用方法及各种插件下载地址 (2012-08-10 17:32:33) 转载▼ 标签: 图表 控件 下载地址 kernel32 微软 it 分类: C# 昨天在网上看到了微软 ... 
- ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源
		ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件- ... 
- 图表控件的学习===》hightChart 和 Chartjs的使用
		hightChart : 比较旧的图表控件 商业需要授权 Chartjs 免费开源 刚开始使用了下 hightchart 然后参考示例 建了对应的参数配置的类, 也顺利的集合到后台动态传输. 后 ... 
- .net CHARTING图表控件下载地址
		.net CHARTING是一款功能强大的图表控件,利用.NET framework和GDI+为工作于ASP.NET和Winform的C#和VB.NET开发人员提供可托管的图表解决方案,提供了多种2D ... 
- echart图表控件配置入门(一)
		现在主流的web图表控件主要有hightchart.fusionchart.echart: echart作为百度前端部门近期推出的一个基于html5的免费图表控件,以其丰富图表类型和良好的兼容性速度得 ... 
随机推荐
- 前端人脸识别框架Tracking.js与JqueryFaceDetection
			这篇文章主要就介绍两种前端的人脸识别框架(Tracking.js和JqueryFaceDetection) 技术特点 Tracking.js是使用js封装的一个框架,使用起来需要自己配置许多的东西,略 ... 
- windows查看端口占用、结束进程
			在开发中难免会遇到windows的端口被占用,现在我们来查看端口的占用和结束占用端口的进程. win+r 输入cmd进入命令提示符: 比如我们要查看8080端口的占用情况,输入netstat -aon ... 
- scala学习手记19 - Option类型
			看到Option类型就知道这本教材应该要说那个了. 使用过guava后,应该知道guava中的Optional类的作用是什么.算了找下原始文档好了: Optional<T> is a wa ... 
- 2017版:KVM 性能优化之内存优化
			我们说完CPU方面的优化,接着我们继续第二块内容,也就是内存方面的优化.内存方面有以下四个方向去着手: EPT 技术 大页和透明大页 KSM 技术 内存限制 1. EPT技术 EPT也就是扩展页表,这 ... 
- 使用springmvc的时候报错NoSuchBeanDefinitionException: No qualifying bean of type
			NoSuchBeanDefinitionException: No qualifying bean of type 其实我至今都不知道错误的根源在哪里,<context:component-sc ... 
- Java Redis Pipeline 使用示例
			1. 参考的优秀文章 Request/Response protocols and RTT 2. 来源 原来,系统中一个树结构的数据来源是Redis,由于数据增多.业务复杂,查询速度并不快.究其原因, ... 
- 百度之星2017初赛A-1006-度度熊的01世界
			度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ... 
- sizeof结构体
			规则1:结构体的对折长度为其基本数据成员的长度的最大值. 规则2:指定边界情况下,结构体的对折长度为自身对折长度和指定对折长度中较小者. 规则3:当行内结构体的基本数据成员的起始地址必须为其长度的整数 ... 
- Sqlite/ FMDB
			Sqlite 1. Sqlite数据库 > 数据库? 按数据结构来组织,存储和管理数据的仓库. > 关系型数据库:使用二维表及其之间的联系组织成一个数据组织. 关系:可以理解为一张二维表, ... 
- dubbo-monitor安装、 监控中心 配置过程
			简单介绍下monitor: Simple Monitor挂掉不会影响到Consumer和Provider之间的调用,所以用于生产环境不会有风险. 配置好了之后可以结合admin管理后台使用,可以清晰的 ... 
