資源簡介
基于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個文件信息
評論
共有 條評論