• 大小: 231KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C#
  • 标签:

资源简介

基于C#的波形显示控件的实现源码 计算机技术的飞速发展使得其在自动化系统中的应用日益增强。大量监控、图像数据显示软件活跃在自动化工业及自动化教学领域。同时,软件系统的日益复杂化使得模块化开发变得尤为重要。本课题所设计的基于C#的波形显示控件就可在微软.NET平台下进行代码功能重用,达到模块化开发和快速开发的目的,使得程序员能够集中精力设计软件的具体业务流程,而不必担心波形呈现的问题。 本文先介绍了.NET平台下用户控件开发的基本方法,以及用C#描述的GDI+图形开发技术,然后提出一种基于C#的波形显示控件的设计思路,并对波形坐标值转换、坐标标尺、工具栏、局部放大等具体的设计细节进行详细解析。 本课题设计的波形显示控件实现了同时显示多条数据曲线、局部放大查看、波形显示自动调整最佳坐标范围、动态显示波形等功能。创新之处在于设计了一种方法,使得波形显示控件的坐标轴的起点值和终点值能够以浮点数显示,并自动根据当前波形显示控件的大小,描绘出符合用户视觉的坐标标尺。 波形显示控件实现的功能 (1) 多条波形数据的显示。 该波形显示控件能够同时显示多条波形数据,用户能够控制每条波形数据的显示颜色、线宽、线帽、以及线转折的样式。并且提供了三种波形数据显示的方式:连续数据线、离散点、条形图。 (2) 友好坐标标尺的显示。 该波形显示控件能够根据当前显示数据的坐标范围,友好地显示坐标标尺。例如X轴坐标起始值为34.2,结束坐标值为100.7,则控件不是简单得将坐标10等分并显示并不友好的坐标值,而是通过计算当前波形显示控件的大小,显示40、50……这样的友好的坐标值,并判断是否需要继续在40到50的坐标值之间显示更小分度的坐标值。 (3) 波形显示区域网格的显示。 该波形显示控件可以显示同坐标标尺的坐标线相对应的网格,使得用户能够更直观地观察波形数据。 (4) 波形的局部放大。 该波形显示控件提供了波形局部放大的功能。并根据实际使用和测试,控制了波形放大的精度,以免产生数据溢出的问题。 (5) 坐标自动调整。 该波形显示控件能够根据当前要显示的波形数据的值,自动选择最佳的坐标范围,来直观地在控件的波形显示区域显示完整的波形曲线。 (6) 外观颜色方案的修改。 该波形显示控件能够修改外观样式,诸如背景色、网格颜色、坐标线颜色、坐标值颜色等都可以进行调整,以使控件外观能够符合软件整体风格。 (7) 其他细节。 该波形显示控件还设计了一个工具栏,可以方面地使用网格显示、局部放大、坐标自动调整、恢复默认坐标功能。另外还设计右键菜单,能够显示当前鼠标位置的具体坐标值,以及工具栏按钮的快捷按钮。

资源截图

代码片段和文件信息

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



namespace Test
{
    public partial class FormTest : Form
    {
        public FormTest()
        {
            InitializeComponent();
            f_saveReadFirst(false);
            f_restyle();
        }
        private Color[] m_colors;
        private float m_fstyle;
        private int[] m_istyle;
        /// 
        /// 获取初始的波形显示控件的样式或设置为初始样式
        /// 

        /// 获取ture | 设置false
        private void f_saveReadFirst(bool isRead)
        {
            if (!isRead)
            {
                m_colors = new Color[18];
                m_istyle = new int[2];
                m_istyle[0] = zGraphTest.m_titleSize;
                m_fstyle = zGraphTest.m_titlePosition;
                m_colors[0] = zGraphTest.m_titleColor;
                m_colors[1] = zGraphTest.m_titleBorderColor;
                m_colors[2] = zGraphTest.m_backColorL;
                m_colors[3] = zGraphTest.m_backColorH;
                m_colors[4] = zGraphTest.m_coordinateLineColor;
                m_colors[5] = zGraphTest.m_coordinateStringColor;
                m_colors[6] = zGraphTest.m_coordinateStringtitleColor;
                m_istyle[1] = zGraphTest.m_iLineShowColorAlpha;
                m_colors[7] = zGraphTest.m_iLineShowColor;
                m_colors[8] = zGraphTest.m_GraphBackColor;
                m_colors[9] = zGraphTest.m_ControlItemBackColor;
                m_colors[10] = zGraphTest.m_ControlButtonBackColor;
                m_colors[11] = zGraphTest.m_ControlButtonForeColorL;
                m_colors[12] = zGraphTest.m_ControlButtonForeColorH;
                m_colors[13] = zGraphTest.m_DirectionBackColor;
                m_colors[14] = zGraphTest.m_DirectionForeColor;
                m_colors[15] = zGraphTest.m_BigXYBackColor;
                m_colors[16] = zGraphTest.m_BigXYButtonBackColor;
                m_colors[17] = zGraphTest.m_BigXYButtonForeColor;      
            }
            else
            {
                //样式
                textBox标题字体大小.Text = m_istyle[0].ToString();
                zGraphTest.m_titleSize = m_istyle[0];
                textBox标题位置.Text = m_fstyle.ToString();
                zGraphTest.m_titlePosition = m_fstyle;
                zGraphTest.m_titleColor=button标题颜色.BackColor = m_colors[0];
                zGraphTest.m_titleBorderColor=button标题描边颜色.BackColor = m_colors[1];
                zGraphTest.m_backColorL=button背景色渐进起始颜色.BackColor = m_colors[2];
                zGraphTest.m_backColorH=button背景色渐进终止颜色.BackColor = m_colors[3];
                zGraphTest.m_coordinateLineColor=button坐标线颜色.BackColor = m_colors[4];
                zGraphTest.m_coordinateStringColor=butto

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      53248  2010-05-18 09:43  ZGraph\ZGraph\bin\Debug\ZGraph.dll

     文件      85504  2010-05-18 09:43  ZGraph\ZGraph\bin\Debug\ZGraph.pdb

     文件      53248  2010-05-11 14:04  ZGraph\ZGraph\bin\Release\ZGraph.dll

     文件      15882  2010-05-11 14:04  ZGraph\ZGraph\bin\Release\ZGraph.xml

     文件        770  2010-05-18 09:18  ZGraph\ZGraph\obj\Debug\ZGraph.csproj.GenerateResource.Cache

     文件      53248  2010-05-18 09:43  ZGraph\ZGraph\obj\Debug\ZGraph.dll

     文件      85504  2010-05-18 09:43  ZGraph\ZGraph\obj\Debug\ZGraph.pdb

     文件        180  2010-05-18 09:18  ZGraph\ZGraph\obj\Debug\ZhengJuyin.UI.ZGraph.resources

     文件        675  2010-05-18 09:45  ZGraph\ZGraph\obj\ZGraph.csproj.FileListAbsolute.txt

     文件       1478  2010-05-11 13:45  ZGraph\ZGraph\Properties\AssemblyInfo.cs

     文件       3341  2010-05-30 09:07  ZGraph\ZGraph\ZGraph.csproj

     文件      54284  2010-05-18 09:43  ZGraph\ZGraph\ZGraph_Drawing.cs

     文件      11317  2010-05-18 09:43  ZGraph\ZGraph\ZGraph_FuncPrivate.cs

     文件       6190  2010-05-18 09:42  ZGraph\ZGraph\ZGraph_FuncPublic.cs

     文件      24412  2010-05-18 09:43  ZGraph\ZGraph\ZGraph_Menu.cs

     文件       9448  2010-05-18 09:43  ZGraph\ZGraph\ZGraph_ParamPrivate.cs

     文件       9782  2010-05-18 09:43  ZGraph\ZGraph\ZGraph_ParamPublic.cs

     文件       3522  2010-05-30 09:08  ZGraph\ZGraph\ZGraph.cs

     文件      33504  2010-05-30 09:08  ZGraph\ZGraph\ZGraph.designer.cs

     文件       6016  2010-05-30 09:08  ZGraph\ZGraph\ZGraph.resx

     文件       4945  2007-07-18 09:38  ZGraph\from.gif

     文件       1374  2010-05-30 09:07  ZGraph\ZGraph.sln

    ..A..H.     19456  2010-05-30 09:08  ZGraph\ZGraph.suo

     文件         32  2010-05-18 09:47  ZGraph\说明.txt

     文件        125  2007-03-27 14:33  ZGraph\最新Asp.Net源码下载.url

     文件      57344  2010-05-18 09:43  ZGraph\Test\bin\Debug\Test.exe

     文件      65024  2010-05-18 09:43  ZGraph\Test\bin\Debug\Test.pdb

     文件      14328  2010-05-30 09:07  ZGraph\Test\bin\Debug\Test.vshost.exe

     文件      53248  2010-05-18 09:43  ZGraph\Test\bin\Debug\ZGraph.dll

     文件      85504  2010-05-18 09:43  ZGraph\Test\bin\Debug\ZGraph.pdb

............此处省略44个文件信息

评论

共有 条评论

相关资源