基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc

上传人:牧羊曲112 文档编号:4957829 上传时间:2023-05-26 格式:DOC 页数:73 大小:750KB
返回 下载 相关 举报
基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc_第1页
第1页 / 共73页
基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc_第2页
第2页 / 共73页
基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc_第3页
第3页 / 共73页
基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc_第4页
第4页 / 共73页
基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc》由会员分享,可在线阅读,更多相关《基于NET的趋势控件的设计与实现-电气工程及其自动化专业毕业设计-毕业论文.doc(73页珍藏版)》请在三一办公上搜索。

1、基于NET的趋势控件的设计与实现 电气工程及其自动化专业毕业设计 毕业论文中 国 矿 业 大 学本科生毕业设计姓 名: 杨朝川 学 号: 04041412 学 院: 信息与电气工程学院 专 业: 电气工程与自动化 设计题目:基于.NET的趋势控件的设计与实现 专 题: 指导教师: 李会军 职 称: 讲师 2009年 6 月 徐州中国矿业大学毕业设计任务书学院 信息与电气工程学院 专业年级 电气05级 学生姓名 杨朝川 任务下达日期:2009年 2月 16日毕业设计日期: 2009年 2 月 16日 至 2009 年 6月 20日毕业设计题目: 基于.NET的趋势控件的设计与实现毕业设计主要内容

2、和要求:1、能够熟练掌握如何使用VS2005/VS2008进行软件开发和调试;2、能够熟练掌握一门面向对象的程序设计语言C+/C#,能够熟练使用该语言进行程序开发;3、掌握组件和控件的含义及其作用,能够掌握使用C+/C#语言在VS2005/VS2008集成开发环境中进行控件开发;4、了解面向对象的程序设计方法、了解计算机程序的模块化、封装和继承过程;5、熟悉趋势控件在组态软件中的具体作用和重要性(可以上网查找什么是组态软件、主流组态软件有哪些、组态软件的作用、趋势控件在组态软件中担任的角色等);6、认真阅读给出的示例程序,弄清示例程序中各个类之间的关系,弄清这些类之间如何进行协调和统一,共同完

3、成趋势曲线的绘制7、了解在桌面程序中调用控件的方法。本课题的基本要求:掌握一门计算机语言,熟悉开发环境,能够使用语言进行软件开发和调试 (以趋势控件为开发对象)本课题的较高要求:读懂给出的示例程序源代码,能够理顺ZedGraph趋势控件的类间结构关系院长签字: 指导教师签字:中国矿业大学毕业设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字: 年 月 日中国矿业大学毕业设计评阅教师评阅书评阅教师评语(选题的意义;基础理论及

4、基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字:年 月 日中国矿业大学毕业设计答辩及综合成绩答 辩 情 况提 出 问 题回 答 问 题正 确基本正确有一般性错误有原则性错误没有回答答辩委员会评语及建议成绩:答辩委员会主任签字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日摘 要随着Internet/Intranet的迅猛发展,计算机技术、通信技术、多媒体技术的发展为企业提供了广阔的发展空间,使企业Web的开发、管理和维护变得非常简单。但是,也

5、存在着一些问题:重复开发现象严重,代码重用率低,功能模块移植的工作量大等。为解决这一问题,需要建立和整合企业的应用体系,对各类应用进行集成。.NET框架作为微软新的开发平台,其战略思想就是把所有设备通过一个全球宽带网(Internet)连接在一起,同时所有的软件都将成为在该网络上提供的一种服务。.NET中引入了一系列的新概念,使得.NET具有跨语言集成的特性;Metadata使得.NET组件是自描述的;Assembly简化了应用程序的配置和部署。同时,NET采用了多种安全策略,内置多种身份认证模式,使得系统具有很高的安全特性。本文在对.NET框架上的Web服务进行深入研究的基础上,描述了趋势控

6、件系统的实现.。文末对全文的工作进行了总结并对以后的研究作了进一步展望。关键词:面向对象;NET框架;ADO.NET;趋势曲线控件;ABSTRACTWith the development of Internet/Intranet technology, the technology of computer, communication and multimedia provides enterprises with a broad space. Besides, It is easy to develop, manage, and maintenance the web applicatio

7、n. But there are also some problems, such as the difficulty to reuse the code and recombine the system. To solve the problem it becomes necessary to rebuild the application system of the enterprise and bring it into conformity and to integrate various application processes.As the new Microsoft platf

8、orm, the strategy of .NET Framework is that all equipments are connected each other by Internet and all software will be the service on Internet. Web service is the pivotal technology to realize the stratagem. NET introduces a series of new conceptions. Common Language Runtime let .NET have the feat

9、ure of cross-language integration; .NET components are self-describing components because of Metadata; Assembly simplifies the configuration and deployment of applications. Meanwhile, .NET adopts many security policies. The developer using .NET can choose one of authentication modules to certificate

10、 the identities of web users. which ensures .NET has high security?This article describes the realization of the trend curve module on the basis of deeply studying the .NET framework for Web services. In the end of the dissertation, conclusions are drawn and the future research directions in the fie

11、ld are suggested.Keywords: Object-Oriented; NET Framework; ADO.NET; Trend curve;目 录第1章 绪论11.1研究背景与目的11.2研究环境及所用开发平台11.2.1 硬件环境11.2.2有关概念21.3 目前国内外研究、进展现状4第2章 .NET技术52.1 相关技术(面向对象技术)52.1.1面向对象技术52.1.2面向对象的特征52.1.3面向对象的要素62.2 Windows 窗体技术72.2.1 窗体及控件简介72.2.2 GDI+的应用82.2.3 网络编程102.3 数据及应用142.3.1 ADO.NE

12、T142.3.2 数据邦定182.3.3 XML简介182.4 Web编程技术202.4.1 ASP.NET简介202.4.2 ASP.NET的管理222.4.3 ASP.NET Web 服务的特点25第3章 C#技术介绍263.1 C#语言概述263.1.1 C# 特点263.1.2 C# 与Java比较283.1.3 Visual C#2005(2.0)新增功能293.2.NET框架313.2.1 .NET框架概述313.2.2 .NET框架组成及重要的概念313.3 .NET Remoting技术34第4章 基于.NET趋势控件系统设计与实现354.1 引言354.2 系统简要分析354

13、.3 系统中相关类介绍364.3.1 System类364.3.2 System.Data类384.3.3 System.Deployment类394.3.4 System.Drawing 类394.3.5 System.Windows.Forms类404.3.6 System.Xml类414.4 系统设计424.4.1 系统窗体设计424.4.2程序设计42第5章 趋势控件系统改进455.1 系统不足分析455.2 改进方法465.3 对未来趋势控件发展分析48第6章 小结50参考文献51致 谢52翻译部分53中文翻译53英文原文57第1章 绪论1.1研究背景与目的近年来随着工业自动化的不断

14、发展,各种应用程序开发环境不断出现和更新。如何从中选择简单衫的开发环境以快速的生成高效安全的应用程序方案已成为开发人员的热点问题。作为Microsoft公司的.NET战略的一个重要组成部分,Microsoft Visual Studio .NET一经推出就受到了广大开发和应用人员的关注及青睐。它以其统一的、面向对象的、分层的和可扩展的类库为基础,结合得到增强的各种编程语言的灵活性,可以很方便地生成应用程序方案的基础结构,再与己成熟的XML技术和数据库技术进行有机的结合,可以生成高效安全、分布式的应用程序的完整解决方案。利用.NET技术生成简单实用的应用程序方案己经成为了开发人员的首选。对那些己

15、经或即将从事数据处理和分析的公司和开发人员来说,开发一套实用快速完善的应用程序带来的商机和收益己经是有目共睹了,但是并非每个企业或个人的开发产品都是成功的。其失败的关键在于无法满足用户或业务伙伴的日益提高的各种要求,诸如高效、安全、提供更全面完善的服务等等方面,而利用.NET技术生成的应用程序几乎可以完美地解决以上问题。即使是那些已经取得成功的企业也能从.NET技术中得到好处,它能够带来比以前更高的安全特性以及效率。而对于开发人员来说,. NET技术可以带来比以往诸多技术更加方便迅速的开发体验。这首先得益于.NET框架中的统一编程类库,不再需要因为不同的编程语言使用不同的类库模型而花费时间和精

16、力去学习。其次,完善的集成开发环境和灵活丰富的编程语言以及高度智能化的模板和提示,都使得架构和生成应用的基础结构更加简便。同时,它完全支持当今主流的网络规范和标准,如XML,并有其独具特点的扩展,这也使得开发人员可以在同一个环境中实现更多方案的功能。1.2研究环境及所用开发平台1.2.1 硬件环境a.硬件环境CPU: Intel Pentium II-class 450 MHz(最好Intel Pentium III-class 600 MHz)以上或Windows 2000 Server, Windows 2000 Advanced Server及Windows XP Professiona

17、l兼容的同等CPU。内存:96 MB(最好128 MB以上).硬盘:系统驱动器上有500 MB,安装驱动器上有3 GB;显示:800x600,256 colors(最好为增强色16位及以上);光驱:需要CD-ROM;鼠标、键盘,Microsoft鼠标或兼容的指点设备,标准101/102键盘。b.软件环境1.具有Service Pack 2的Windows 2000 Server或Advanced Server或Windows XP Professional。2.Microsoft Visual Studio.NET企业级开发正式版(完全安装,包括.NET Framework)。3.MDAC (

18、Microsoft数据访问组件)2.7 for data Internet信息服务(IIS) 5. 0版本及以上。4.SQL Server 2000个人版或企业版。1.2.2有关概念1. Microsoft Visual Studio. NET Microsoft Visual Studio .NET是Microsoft公司最新推出的一套完整开发工具,用于生成ASP Web应用程序、XMI. Web services、桌面应用程序和移动应用程序。其中包括的程序语言,诸如Visual Basic .NET, Visual C+.NET和Visual C# .NET等,全都使用相同的集成开发环境(

19、IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET框架的功能,此框架提供对简化ASP Web应用程序和XML Web services开发的关键技术的访问。2. .NET Framework ( .NET框架 ).NET框架是用于生成、部署和运行应用程序和XML,Web Services的多语言环境,其结构如图1.2.2-1所示:VB.NETJScriptC+C#Common Language Specification (公共语言规范)ASP.NET.NET Framework Class Library (.NETS库)Windows formsAD

20、O.NETCommon Language Runtime一般语言运行时环境)图(1.2.2-1) .NET的语言环境它包含以下两个核心部分:a.公共语言运行库:运行库在组件运行时和开发时操作中都起作用。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化。由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,这样显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。b.统一编程类:框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)

21、。以前,C+开发人员使用Microsoft基础类,而Java开发人员使用Windows基础类。框架统一了这些完全不同的模型,同时为Visual Basic和J Script程序员提供了对类库相同的访问。通过创建跨所有编程语言的公共API集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从Jscript,Visual Basic到C+的所有编程语言具有对框架的相似访问,开发人员可以自由选择所要使用的语言。3. ASP. NETASP.NET (Active Server Page .NET)又叫ASP+,但并不仅仅是ASP的简单升级,而是Microsoft推出的新一代Active Ser

22、ver Pages脚本语言。它吸收了ASP以前版本的最大优点并参照Java ,VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。它是统一的Web开发平台,用来提供开发人员生成企业级Web应用程序所需的服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。ASP.NET建立在.NET框架的编程类之上,它提供了一个Web应用程序模型,并且包含使生成ASP Web应用程序变得简单的控件集和结构。ASP.NET包含封装公共HTML用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在Web服务器上运

23、行,并以HTML的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为Web开发人员提供了面向对象的编程的丰富性。ASP.NET还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,使用XML Web services功能,ASP.NET开发人员可以编写自己的业务逻辑并使用ASP. NET结构通过SOAP (Simple Object Access Protocol,简单对象存取协议)交付该服务。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括Visual Basic

24、 .NET, C#和Jscript .NET)创作应用程序。另外,任何ASP. NET应用程序都可以使用整个NET框架。开发人员可以方便地获得这些技术的优点,包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYG (What you see is what you get) HTML编辑器和其他编程工具(包括Microsoft Visual Studio .NET)一起工作。这不仅使得Web开发更加方便,而且还能得到这些工具所具有的所有优势。4. ADO.NETADO.NET (ActiveX Data Objects.NET)是.NET框架中专门用以存取后

25、端数据库中的数据及进行数据操作的一组功能强大的类。在其中加入了过去所没有的面对对象结构,使得数据库应用程序的编写更为结构化;同时,它还采用了XML作为其数据交换格式。ADO.NET提供对Microsoft SQL Server等数据源以及通过OLE DB和XML公开的数据源的一致访问。应用程序可以使用ADO.WT来连接到这些数据源,并检索、操作和更新数据。ADO.NET有效地从数据操作中,将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET包含用于连接到数据库、执行命令和检索结果的.NET数据提供程序。可以直接处理检索到的结果,也可以将其放入ADO.NET Data Se

26、t对象以便与来自多个源的数据组合在一起,以特殊方式向用户公开。另外,ADO.NET Data Set对象也可以独立于.NET数据提供程序使用,以管理应用程序本地的数据或源自XML的数据。1.3 目前国内外研究、进展现状目前,在国内外对.NET技术的研究已经形成了热潮。相对而言,国内的研究工作要滞后一些。这主要表现在实践方面,绝大部分国内的程序开发所使用的编程模型仍然停留在ASP阶段.同时,大部分的研究仍停留在较单一的层面上,例如单纯地研究如何以ASP. NET生成动态图表显示,而对于如何将其和数据库技术以及XML技术相结合以生成真正的实时动态显示方案的研究却很少。而国外对之的研究和利用要比我们

27、超前一些,很多国外的工程应用开发网站己经开始利用ASP. NET作为其编程模型了,而且很多国外的资料中己经在研究如何利用.NET技术以生成真正的带实时检测,动态图表显示的趋势图。以北京世纪飞扬科技发展有限公司开发的Trend Demo趋势控件为列,趋势控件可用于科学,工业监控,数据采集,股市分析等领域的数据显示、分析、打印。它能同时显示多组二维实时数据,可以生成扫描图、曲线图、折线图、逻辑图、打点图、面积图、棒图等多种图样;支持曲线任意拉伸缩放,键盘、鼠标滚动查看;自带打印功能,可以轻松将图形输出到打印机;内置数据统计分析功能,包括最小值、最大值,平均值等;可定义报警区域,指定颜色或图片;还能

28、通过数据游标在指定的区间内观察数据;同时提供了强大灵活的定制功能,让用户轻松自定义文本、字体、颜色、刻度等。第2章 .NET技术2.1 相关技术(面向对象技术)2.1.1面向对象技术对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象的状态和行为对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。类具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象。也可以说,类的实例是

29、对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。类的结构在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般一具体结构关系,整体一部分结构关系。一般具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。整体部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。消息和方法对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消

30、息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。2.1.2面向对象的特征a.对象唯一性:每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。b.分类性:是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。c.继承性:继承性是子类自动共享父类数据结构和

31、方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容.继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提

32、高了软件的重用性。d.多态性(多形性):多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。2.1.3面向对象的要素a.抽象:抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。类实现了对象的数据(即状态)和行为的抽象。b.封装性(信息隐藏):封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明(用户

33、可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。c.共享性: 面向对象技术在不同级别上促进了共享。同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且

34、为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。d.面向对象的开发方法:目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。面向对象开发方法有Coad方法、Booch方法和OMT方法等。Booch方法:Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。Coad方法:Coad方法是1989年Coad和Yourdon提出的面向对象开发方法。该方法的主要优点是通过多年来大系统开发的经验与面向对象概念的有

35、机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。该方法完成了从需求角度进一步进行类和类层次结构的认定。尽管Coad方法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。OMT方法:OMT方法是1991年由James Rum Baugh等5人提出来的,其经典著作为“面向对象的建模与设计”。该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。该方法为大多数应用领域的

36、软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。2.2 Windows 窗体技术2.2.1 窗体及控件简介Windows窗体也称为Win Forms,开发人员可以使用Win Forms创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能。Win Forms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。窗体可包含文本框、标签、按钮等控件。大型Win Forms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。System.Windows.Forms命名空间包含创

37、建Win Forms应用程序的用户界面时所需的类。a. Windows窗体的一些重要特点如下:1.简单强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。2.新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2以及Oracle等。3.安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。4.灵活的控件:W

38、indows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。5.方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。Windows窗体对数据库处理提供全面支持。可以访问数据中的数据,并在窗体上显示和操作数据。6.向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导。b.用户控件的创建及使用Windows用户控件能够根据应用程序的需要方便地自定义控件,而且所使用的编程技术将与用于编写Web窗体的技术基本相同。但用户控件只能在一个窗体页中以控件的形式存在而不能单独使用,该窗体称为它的宿主。为了将用户控件和窗体相区别,用户控件用扩展名.ascx来标识。一

39、个Web用户控件与一个完整的Web窗体页相似,它们都包含一个用户界面页和一个代码隐藏文件。该用户界面页在以下方面与.aspx文件不同: 1扩展名必须为.ascxo; 2用户控件中不能包含,和元素; 3在其他任一方面,用户控件都与Web窗体页相似;可以将用户控件在设计阶段添加到Web窗体页的设计视图中,方法是将该控件从解决方案资源管理器中拖出并将其放至希望它在页上出现的位置即可。该控件会自动添加到Web窗体页中,方法是向Web窗体页添加“Register指令。从此时开始,该控件就成为页的一部分,并将在处理该页时呈现出来。在页面顶部的标记之前添加的Register指令是一个注册该控件的指令,以便在

40、处理Web窗体页时识别该控件。2.2.2 GDI+的应用1. GDI简介 GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。 GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C+类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容

41、性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上

42、的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。2.GDI输出的实现要想在屏幕或者其它输出设备上输出图形或者文字,那么我们就必须先获得一个称为设备描述表(DC:Device Context)的对象的句柄,以它为参数,调用各种GDI函数实现各种文字或图形的输出。设备描述表是GDI内部保存数据的一种数据结构,此结构中的属性内容与特定的输出设备(显示器,打印机等)相关,属性定义了GDI函数的工作细节,在稍后我们将看到如何使用Text Out函数输出文字,在这里属性确定了文字的颜色,x坐标和y坐标映射到窗口显示区域的方式等。设备描述表句柄一旦获得,那么系统将使用默认的属性值填充设备描述表

43、结构。如果有必要,我们可以使用一些GDI函数获取和改变设备描述表中的属性值。3. Visual 2005.NET中GDI+新增功能a.渐变的画刷(Gradient Brushes)GDI+允许用户创建一个沿路径或直线渐变的画刷,来填充外形(shapes),路径(paths),区域(regions),渐变画刷同样也可以画直线、曲线、路径,当你用一个线形画刷填充一个外形(shapes)时,颜色就能够沿外形逐渐变化。b.基数样条函数(Cardinal Splines)GDI支持基数样条函数,而GDI不支持。基数样条是一组单个曲线按照一定的顺序连接而成的一条较大曲线。样条由一系列点指定,并通过每一个指

44、定的点。由于基数样条平滑地穿过组中的每一个点(不出现尖角),因而它比用直线连接创建的路径更精确。下面是分别使用两种方法创建的图形,一个使用基数样条,一个使用直线。c.持久路径对象(Persistent Path Objects)在GDI中,路径属于设备描述表(DC),画完后路径就会被破坏。在GDI+中,绘图工作由Graphics对象来完成,你可以创建几个与Graphics分开的路径对象,绘图操作时路径对象不被破环,这样你就可以多次使用同一个路径对象画路径了。d.变形和矩阵对象(Transformations Matrix Object)GDI+提供了矩阵对象,一个非常强大的工具,使得编写图形的

45、旋转、平移、缩放代码变得非常容易。一个矩阵对象总是和一个图形变换对相联系起来,比方说,路径对象(PATH)有一个Transform方法,它的一个参数能够接受矩阵对象的地址,每次路径绘制时,它能够根据变换矩阵绘制。下面的图形是一个图形变换前后的例子,变换按照先缩放后旋转完成。e.可伸缩区域(Scalable Regions)GDI+ 在区域(regions)方面对GDI进行了改进,在GDI中,Regions存储在设备坐标中,对Regions 唯一可进行图形变换的操作就是对区域进行平移。而GDI+用世界坐标存储区域(Regions),允许对区域进行任何图形变换(譬如如图所示的缩放),图形变换以变换矩阵存储,下面例子是一个区域变换前后的例子(缩放、旋转、平移)。f. Alpha Blending(混合)你可能会注意到上面显示的图形,红色未平移区域与变换后区域有一部分交叉区域,这一部分形成的梦幻效果就是由GDI+支持的Alpha Blending(混合)实现的,利用alpha融合,你可以指定填充颜色的透明度,透明颜色与背景色相互融合,填充色越透明,背景色显示越清晰,下图所示的四个椭圆被填充了同样的颜色,但由于拥有不同的透明度而呈现不同的显示效果。g.多种图像格式支持图像在图形界面程序中占有举足轻重的地位,GDI除了支持BMP等GDI支持的图形格式外,还支持JPEG(Join

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号