大佬教程收集整理的这篇文章主要介绍了 wangt.cc chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
https://www wangt.cc blogs wangt.cc /mooncher/p/3769619.html
这个案例指在介绍微软这套免费又功能强大的图表控件Microsoft Chart Controls for Microsoft .NET Framework 3.5,通过它,可让您的项目及报表,轻松套用各种功能强大的 2D、3D、实时变化的动态图表;且透过 AJAX,可让图表及里面的数据,每秒钟都持续更新;使用者透过浏览器,可和图表做各种互动设定
下面结合BBVS项目中温度功能模块中温度曲线的绘制 做了如下Demo,供大家学习微软的这款功能强大的图标控件,这里只是起一个抛砖引玉的作用,更多更好玩的功能还等大家不断进一步去挖掘!
首先,让大家瞧瞧Chart控件的庐山真面目和组成吧,不然有些对不住大家,呵呵
一、需引用的DLL@H_696_24@
要想利用这个功能强大的控件,首先必须引用以下DLL和相关文件:
1. 在WinForm应用程序中要想使用该图表控件,需引用如下DLL:
System.Windows.Forms.DataVisualization.Design.dll
System.Windows.Forms.DataVisualization.dll
System.Windows.Forms.DataVisualization.xml
2. 在Web应用程序中要想使用该图表控件,需引用如下DLL:
System.Web.DataVisualization.dll
System.Web.DataVisualization.Design.dll
System.Web.DataVisualization.xml
二、采用WinForm程序使用该图表控件@H_696_24@
1. 创建一个WinForm工程: DemoCollection
2. 添加一个Form窗体: FrmChartDemo
3. 添加所需的DLL引用
4. 在该窗体的Load事件函数中动态创建好Chart对象实例
5. 添加一个Timer控件,在Timer控件的Tick事件函数中向Chart中添加坐标值(X值和Y值),然后在窗体中绘制出来.
6. FrmChartDemo的后台代码如下:
FrmChartDemo.cs:
Code highlighTing produced by Actipro CodeHighlighter (freewarE)http://www.CodeHighlighter wangt.cc /static PerfoRMANceCounter pc = new PerfoRMANceCounter("Processor", "% Processor Time", "_@R_845_10586@l");protected void Timer1_Tick(object sender, EventArgs E){MEMORY_INFO MemInfo = new MEMORY_INFO();ComputerInfo.GlobalMemoryStatus(ref MemInfo);//UseMemorySeries series = ChartMemory.Series[0];int xCount = series.Points.Count == 0 ? 0 : series.Points.Count - 1;double lastXValue = series.Points.Count == 0 ? 1 : series.Points[xCount].XValue + 1;double lastYValue = (doublE)(MemInfo.dw@R_845_10586@lPhys-MemInfo.dwAvailPhys)/1024/1024;series.Points.AddXY(lastXValue, lastYvalue);//@R_845_10586@l Memoryseries = ChartMemory.Series[1];lastYValue = (doublE)(MemInfo.dw@R_845_10586@lVirtual+MemInfo.dw@R_845_10586@lPhys-MemInfo.dwAvailPhys - MemInfo.dwAvailVirtual)/1024/1024;series.Points.AddXY(lastXValue, lastYvalue);//CPUseries = ChartMemory.Series[2];lastYValue = (doublE)pc.NextValue();series.Points.AddXY(lastXValue, lastYvalue);// Remove points from the left chart side if number of points exceeds 100.while (this.ChartMemory.Series[0].Points.Count > 80){// Remove series pointsforeach (Series s in this.ChartMemory.Series){s.Points.RemoveAt(0);}}// Adjust categorical scaledouble axisMinimum = this.ChartMemory.Series[0].Points[0].XValue;this.ChartMemory.ChartAreas[0].AxisX.Minimum = axisMinimum;this.ChartMemory.ChartAreas[0].AxisX.Maximum = axisMinimum + 99;} 附上取得内存信息的类代码:
CodeCode highlighTing produced by Actipro CodeHighlighter (freewarE)http://www.CodeHighlighter wangt.cc //// <sumMary>///取得计算机的系统信息/// </sumMary>public class ComputerInfo{/// <sumMary>/// 取得Windows的目录/// </sumMary>/// <param name="WinDir"></param>/// <param name="count"></param>[DllImport("kernel32")]public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);/// <sumMary>/// 获取系统路径/// </sumMary>/// <param name="SysDir"></param>/// <param name="count"></param>[DllImport("kernel32")]public static extern void GetSystemDirectory(StringBuilder SysDir, int count);/// <sumMary>/// 取得CPU信息/// </sumMary>/// <param name="cpuinfo"></param>[DllImport("kernel32")]public static extern void GetSystemInfo(ref CPU_INFO cpuinfo);/// <sumMary>/// 取得内存状态/// </sumMary>/// <param name="meminfo"></param>[DllImport("kernel32")]public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);/// <sumMary>/// 取得系统时间/// </sumMary>/// <param name="sTinfo"></param>[DllImport("kernel32")]public static extern void GetSystemTime(ref SYSTEMTIME_INFO sTinfo);public ComputerInfo(){}}//定义CPU的信息结构[StructLayout(LayoutKind.Sequential)]public struct CPU_INFO{public uint dwOemId;public uint dwPageSize;public uint lpMinimumApplicationAddress;public uint lpMaximumApplicationAddress;public uint dwActiveProcessorMask;public uint dwnumberOfProcessors;public uint dwProcessorType;public uint dwAlLOCATIOnGranularity;public uint dwProcessorLevel;public uint dwProcessorRevision;}//定义内存的信息结构[StructLayout(LayoutKind.Sequential)]
public struct MEMORY_INFO{public uint dwLength;public uint dwMemoryLoad;public uint dw@R_845_10586@lPhys;public uint dwAvailPhys;public uint dw@R_845_10586@lPageFile;public uint dwAvailPageFile;public uint dw@R_845_10586@lVirtual;public uint dwAvailVirtual;}//定义系统时间的信息结构[StructLayout(LayoutKind.Sequential)]public struct SYSTEMTIME_INFO{public ushort wYear;public ushort wMonth;public ushort wDayOfWeek;public ushort wDay;public ushort wHour;public ushort wminute;public ushort wSecond;public ushort wMilliseconds;}
运行的效果图如下:
以上是大佬教程为你收集整理的 wangt.cc chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll全部内容,希望文章能够帮你解决 wangt.cc chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。