资源简介

基于C#的显示数据波形的上位机,可进一步开发显示多条数据波形,在线保存数据,可将数据显示为excel格式

资源截图

代码片段和文件信息

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

namespace SerialCommunication
{
    public partial class ClockControl : UserControl
    {
        const int screenWidth = 200; //屏幕宽度
        const int screenHeight = 200; //屏幕高度
        public ClockControl()
        {
            InitializeComponent();

            this.Width = screenWidth + 1;
            this.Height = screenHeight + 1;
            this.DoubleBuffered = true; //控件缓冲,避免闪烁
            this.Setstyle(Controlstyles.ResizeRedraw true);
            clockTimer.Start();
        }
        private void clockTimer_Tick(object sender EventArgs e)
        {
            Invalidate();
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            DateTime dtNow = DateTime.Now;
            string dayOfWeek = dtNow.ToString(“dddd“ new System.Globalization.CultureInfo(“zh-cn“));//星期几
            Brush brush = new SolidBrush(Color.Black); //填充图形
            Pen pen = new Pen(Color.Black); //画笔
            Font hourFont = new Font(“Arial“ 10 Fontstyle.Bold);//时钟数字的字体
            Font dateFont = new Font(“Arial“ 9); //日期的字体
            int dialRadius = Math.Min(screenWidth screenHeight) / 2; //圆的半径

            Graphics g = e.Graphics;
            g.SmoothingMode = SmoothingMode.HighQuality;

            //默认坐标系统原点是左上角,现在把原点移到屏幕中心 右下左上对应的轴:xy-x-y
            g.TranslateTransform(dialRadius dialRadius);

            //画时钟最外层的圆线(penxywidthheight)
            //圆的中心点坐标计算:(width/2+xheight/2+y)据此可得出要使圆在坐标原点(00)的xy坐标值           
            g.DrawEllipse(pen -screenWidth / 2 -dialRadius screenWidth screenHeight);

            GraphicsState state = g.Save();
            //画矩形、日期、星期几       
            int rectWidth = 70;
            int rectHeight = 30;
            g.DrawRectangle(pen -rectWidth / 2 rectHeight rectWidth rectHeight);
            g.DrawString(dtNow.ToString(“yyyy-MM-dd“) dateFont brush -rectWidth / 2 rectHeight + 2);
            g.DrawString(dayOfWeek.PadLeft(8 ‘ ‘) dateFont brush -rectWidth / 2 rectHeight + 15);
            g.Restore(state);

            // 画时钟的60个圆点
            //Save()Restore(state)配合使用,使得平移、缩放、旋转等操作只对它们作用域之间的代码有效,
            //save开始到restore之间这绘画,就像有绘制了一个图层,restore之后将两个图层放到一起
            state = g.Save();
            for (int i = 0; i < 60; i++)
            {
                int w = i % 5 == 0 ? 5 : 3;
                g.FillEllipse(brush 0 -dialRadius w w);
                //围绕指定点按照顺时针方向旋转角度360 / 60 = 6度
                g.RotateTransform(6);
            }
            g.Restore(state);

            //画时钟的12个数字,如果用上面RotateTransform方法则数字会倾斜、倒立,故不用
            state = g.Save();
            for (int i = 0; i < 12; i++)
            {
                //已知圆中心占坐标(x0y0)半径r,角度a0则圆上任一点坐标(xy)计

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-09-28 14:10  数据波形上位机\
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\
     文件        1026  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication.sln
     文件       68608  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication.v12.suo
     文件         187  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\App.config
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\bin\
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\
     文件       32034  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\close.png
     文件       10504  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\danger.gif
     文件        3307  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\danger.png
     文件        5538  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\normal.jpg
     文件        3719  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\normal.png
     文件       33802  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\Resources\open.png
     文件       29184  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.exe
     文件         187  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.exe.config
     文件       56832  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.pdb
     文件       24224  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.vshost.exe
     文件         187  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.vshost.exe.config
     文件         490  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\SerialCommunication.vshost.exe.manifest
     文件      307200  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\bin\Debug\ZedGraph.dll
     文件        5370  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\ClockControl.cs
     文件        1673  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\ClockControl.Designer.cs
     文件        6015  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\ClockControl.resx
     文件       27482  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\Form1.cs
     文件       26774  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\Form1.Designer.cs
     文件        6184  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\Form1.resx
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\obj\
     目录           0  2017-09-28 14:10  数据波形上位机\SerialCommunication\SerialCommunication\obj\Debug\
     文件       11776  2017-06-09 21:23  数据波形上位机\SerialCommunication\SerialCommunication\obj\Debug\DesignTimeResolveAssemblyReferences.cache
............此处省略21个文件信息

评论

共有 条评论