c# winform gridview 动态按钮_C#窗体Winform,使用实时图表:折线图、柱状图
如何在C#窗体中使用实时图表,这里需要用到Chart控件。先看下Demo效果图:
一、创建Winform窗体,并找到Chart控件
Chart控件,目前仅在.net framework下才有,.net core下暂时还没有。所以本文针对的环境是.net framework下的winform窗体。
如上图,在工具箱中找到“数据”->“Chart”控件。请注意,在“所有Windows窗体”那里,是找不到Chart控件的。
二、将Chart控件拖入到窗体中
然后设置Dock属性为Fill,效果如下图所示:
三、创建X轴变量名
如上图,找到Series属性,它表示X轴的变量,可以设置多个的,作为演示,我们仅选择简单的入门为主,即只使用一个X轴变量。
我们设置Series属性,名称叫做“次数”,图形使用连线方式。“确定”后效果如下图:
四、我们生成一些随机金额
为了让图表动态起来,我们假设每次的付款金额是有一个随机值的,那么X轴就是次数, Y轴就是每次的付款金额。
我们搞一个“启动”按钮在上面,双击该按钮,写入一些业务代码:
https://p1.pstatp.com/origin/pgc-image/5e183308f8bb4e0dae7497dd14fc7652using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Windows.Forms;using System.Windows.Forms.DataVisualization.Charting;namespace WindowsFormsApp2{ public partial class BetForm : Form { /// /// 过往的金额 /// private readonly List _pastMoney; private double _maxAxisY, _minAxisY; public BetForm() { InitializeComponent(); this._pastMoney = new List(); } private void button1_Click(object sender, EventArgs e) { //启动一个后台线程 Task.Run(() => { Random random = new Random(); for (; ; ) { //生成一个四舍五入带2位小数点的随机金额 double yValue = Math.Round(random.NextDouble() * 100, 2, MidpointRounding.AwayFromZero); this.UpdateChart(yValue); } }); } /// /// 每秒钟不停的更新图形,最多允许5个节点 /// /// private void UpdateChart(double totalMoney) { this.Invoke(new Action(() => { Series serie = this.chart1.Series[0]; serie.Points.SuspendUpdates(); if (serie.Points.Count == 5) { serie.Points.RemoveAt(0); this._pastMoney.RemoveAt(0); this._maxAxisY = this._pastMoney.Max(q => q); this._minAxisY = this._pastMoney.Min(q => q); } if (this._maxAxisY < totalMoney) { this._maxAxisY = totalMoney; } if (this._minAxisY > totalMoney) { this._minAxisY = totalMoney; } //不断的更新图表的最大值和最小值范围,使得折线图总是显示最好看。 this.chart1.ChartAreas[0].AxisY.Maximum = _maxAxisY; this.chart1.ChartAreas[0].AxisY.Minimum = _minAxisY; //仅修改Y轴的值 serie.Points.AddY(totalMoney); serie.Points.ResumeUpdates(); this._pastMoney.Add(totalMoney); })); Thread.Sleep(1000); } }}
上面是完整代码,您可以直接复制使用。
五、最后看下demo效果图
c# winform gridview 动态按钮_C#窗体Winform,使用实时图表:折线图、柱状图相关推荐
- ECharts 折线图柱状图混合双Y轴 利用ajax动态获取后台数据
效果图示如下 后台代码用的框架是SSM 双Y轴根据后台数据展示 大致代码如下: List<Map> findqushi(@Param("date_id") String ...
- 用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+智能web端高保真大数据动态可视化大屏看板+中国动态地图+智慧电商实时动态数据大屏看板
作品内容:用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+web端高保真大数据动态可视化大屏看板+中国动态地图+电商实时动态数据大屏看板 ...
- java使用poi在word中生成柱状图、折线图、饼图、柱状图+折线图组合图、动态表格、文本替换、图片替换 springboot项目
本文参考地址:https://blog.csdn.net/u014427811/article/details/100771314 在参考文章的基础上,增加了模板样例 模板样例地址 百度网盘 链接:h ...
- echarts简单使用、echarts通过计时器进行动态更新数据、echarts连接数据库实时更新数据
1.echarts引入 在官网下载并放入项目中. 引入echarts.js文件: <script src="./echarts.js"></script> ...
- java使用poi在word中生成柱状图、折线图、饼图、柱状图+折线图组合图、动态表格、文本替换、图片替换、更新内置Excel数据、更新插入的文本框内容、合并表格单元格;
本文参考地址:https://blog.csdn.net/wangxiaoyingWXY/article/details/95377533 在参考文章的基础上,增加了扩展.感谢被参考的妹子.另外该博客 ...
- winform按钮切换页面_C#如何通过一个按钮实现窗体界面的中英文切换?
C#如何通过一个按钮实现窗体界面的中英文切换? 2020 - 8 - 17 TAG : 一.窗体的国际化解决方案新建一个WinForm解决方案后,选择主窗体,右击查看属性,找到Localizable属 ...
- c#点击按钮调出另一个窗体_在类库或winform项目中打开另一个winform项目窗体的方法...
本文实例讲述了在类库或winform项目中打开另一个winform项目窗体的方法.分享给大家供大家参考.具体如下: 一.问题: 假设类库或winform项目为A,另一个winform项目为B.那麽在A ...
- c# winform 扁平化窗口_C# 如何在winform窗体自定义一个扁平化控件(转)
标签:art 扁平化 一个 winform 最小 none 协议 ati 最小化 需求说明:如图所示 步骤: (1) FormBorderStyle 设置为 Non ...
- winform中动态生成控件
最近做winform程序,算是第一次做winform项目吧,记录一下. 本文介绍了如何在一个winform程序中动态创建控件,以下的代码片段演示了在一个pannel容器中动态生成button的功能.详 ...
- 使用C# winform 制作一个按钮可自适应屏幕大小的 简易加减乘除计算器
一:成果物 不多展示,,,我们开始吧.. 二: 窗体包含内容 2.1 显示屏部分组成 显示屏部分由两个组件组成,一个是方便操作的panel控件位于顶部,且为了使其显示屏在改变窗体大小时一直位于 ...
最新文章
- android 视频 截图,java – android获取当前视频的截图
- Uboot分析(三)
- 使用SpringMVC 的MultipartFile文件上传时参数获取的一个坑
- iterm2 保存阿里云登陆并防止断开连接
- laravel 模型(2)
- 海明码编码和校验原理与实现【转载】
- [javase] 1.请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来...
- AUC评价指标的理解以及其为何能衡量二分类模型优劣——复习篇
- web 系统发展历程
- ppt将画好的箭头改为直线
- 计算机凭证打印格式设置,打印凭证怎么设置纸张
- JAVA SE 13快速安装
- node.js解析word文档
- python方差膨胀因子_讲讲共线性问题
- 分表添加字段,添加注释,存储过程及游标
- 有一篇文章,共有3行文字,每行有最多80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
- 五年从程序员到架构师的职业规划
- 自由职业需要我们知道什么呢?
- 龙芯mips64el 微信客户端 ubuntu 微信客户端
- 盲盒商城小程序如何实现盲盒玩法