版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Studio .Net应用开发 主讲:蔡旭晖,VS.2005介绍应用 VB.NET语言回顾 控件的使用 用户界面编程 图形图像编程 文件操作 调试与异常处理 访问数据 ASP.NET基本原理 Web Service,课程内容,教材,Visual Basic.NET 2005中文版基础与实践教程孙强 等,参考教材:Visual Basic 2005入门经典(第4版) ,本章目标,了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解VB.NET程序的基本结构,.NE
2、T Framework 简介,.NET Framework的体系结构 .NET Framework 两个主要组件: 公共语言运行时 (CLR) 统一的类库集 .NET的类库: 线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构,开发效率的提升和应用程序设计的简化 .NET框架(Framework)是一个开发、部署和运行.NET应用的环境。 .NET框架使开发者可以为不同设备和不同平台开发应用程序,即具有跨平台、跨语言、跨设备的特性,即不论用什么操作系统( Unix、Windows、Linux 或OS/2),不论用什么程序设计语言(VB 、C#、C+、Java等),不论用什么设
3、备(PC、手机、PDA、家用电器等),所有的代码一次书写,到处适用。开发人员可以利用.NET框架技术快速开发Windows(桌面)应用程序,也可以创建动态的Web站点以及可伸缩的、内存利用率高的组件。 .NET框架是整个计算平台的基础,要想开发和运行.NET应用程序,必须在计算机上安装.NET框架,没有它,基于.NET平台的应用程序就无法运行。,Microsoft. NET Framework 的体系结构,操作系统,公共语言运行时 (CLR),VC+.Net,C#,VB.Net,VJ#,.Net Framework 类库 (FCL),.NET Framework 的组件,基本框架类,WinFo
4、rms,ADO.Net 和 XML 类,.Net Framework,.Net Framework 类库,ASP.NET,CLS,CLR,CTS,通用语言规范 (CLS) 规定所有 .NET 语言都应遵循的规则 生成可与其他语言互操作的应用程序 公共类型系统 (CTS) :包含标准数据类型、准则集,Windows应用程序,ASP.NET程序,中间语言(IL)程序(EXE),基础类库,第一次编译,第二次编译,在不同的CPU上运行,VB.NET,VJ#.NET,VC+.NET,VC#.NET,Visual Studio.NET,CLR,本章目录,Common Language Runtime,In
5、termediate Language,Microsoft 中间语言 (MSIL) 由一组特定的指令组成,这些指令指明如何执行代码 JIT 编译器的主要工作是将普通 MSIL 代码转换为可以直接由 CPU 执行的计算机代码,CLS、CTS 和 MSIL 紧密配合以实现语言互操作性,.NET框架的工作原理,公共语言运行库(CLR) 在开发期间,用来简化开发操作。 在组件运行期间,管理内存分配、启动和结束线程和进程,并执行安全策略,同时还满足该组件对其他组件的所有依赖要求。 1公共类型系统(Common Type System,CTS) 描述了CLR所支持的数据类型集合。 2公共语言规范(Comm
6、on Language Specification,CLS) 定义了.NET所支持的语言的共同规范 3垃圾收集器 垃圾收集器用于在.NET中进行内存管理 4即时编译器(Just In Time,JIT) 即时编译器负责将中间语言(Intermediate Language,IL)转换为机器代码,.NET Framewok类库 .NET框架为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的框架类库FCL(包括基础类库、数据访问组件以及WebForm、WinForm、Web Services模板等),它是一个与公共语言运行时紧密集成的可重用类型集合。 .NET框架类即System类,提供对
7、系统功能的访问,是建立.NET框架应用程序、组件和服务的基础。,总结,.NET Framework由 .NET Framework 类库和公共语言运行时两个主要组件组成 CLR是管理用户代码执行的现代运行时环境,它提供JIT 编译、内存管理、异常管理和调试等方面的服务 CTS定义声明、定义和管理所有类型所遵循的规则,而无需考虑源语言 CLS是所有针对 .NET的编译器都必须支持的一组最低标准,以确保语言的互操作性 命名空间是一组包含相关方法的相似类,专门用于避免类与类之间的名称冲突 即时 (JIT) 编译器将MSIL代码编译为特定于目标操作系统和计算机体系结构的本机代码,命名空间(NAME S
8、PACE) 命名空间(name Space)是 .NET避免类名冲突的一种方式,是将相关的类型进行分组的逻辑命名方案。 .NET框架使用分层命名方案,将类型分为相关功能的逻辑类别,Visual Basic.NET 2005概述,Visual Basic的发展历程 Visual Basic 1.0Visual Basic 6.0 Visual Basic.NET(即Visual Basic 7.0) Visual Basic 2005(即Visual Basic 8.0 ) Visual Basic 2008(即Visual Basic 9.0),Visual Basic.NET 2005第一个
9、应用程序,创建设计说明书 创建用户界面 设置用户界面对象的属性 编写代码添加应用程序功能 测试和调试应用程序 生成可执行文件 创建应用程序的安装程序,2,1,3,4,5,6,7,Visual Studio 2005集成开发环境,Visual Studio 2005开发环境 Visual Studio 2005菜单和工具栏 属性窗口 工具箱窗口 Web浏览器 获取帮助信息 编译器设置,安装 Visual Studio 2005,返回,返回,返回,返回,开发环境介绍,内容 开始页面 解决方案资源管理器 代码编辑器 对象浏览器 属性窗口 命令窗口和即时窗口 服务器资源管理器 任务列表,Visual
10、Studio 2005开发环境,启动Visual Studio.NET “起始页”选择“新建项目/打开项目”按钮,Visual Basic项目,Windows应用程序,窗体,窗体是一块画布,是所有控件的容器,可以根据需要利用工具箱上的控件在窗体上画界面。 1. 主要属性,属性窗口,窗体和控件称为对象,每个对象用一组属性来描述其外部特征,如颜色、大小等。 属性窗口用于显示和设置所选定的对象的属性。 属性窗口由四部分组成: 对象和名称空间列表框 属性显示排列方式 属性列表框 属性含义说明,工具箱内的TextBox是类 窗体上显示的是两个Text对象,工具箱窗口,代码编辑器,支持VS.NET的所有编
11、程语言,可以使用同一个编辑器来编辑各种语言的代码。 主要分成3个区域:代码编辑区、指示器边距和选定内容边距,如图。 代码编辑区:输入或修改代码,可以使用编辑器提供的各种功能,如不同颜色显示,自动换行等等。 指示器边距:用于显示一些标识(如断点、书签和快捷方式等),同时还可以在其中进行断点的设置工作(直接单击相应行即可设置和取消断点) 选定内容边距:用来选择代码内容。鼠标指针移到选定内容的边距内,指针形状变成箭头,此时单击可选中整行代码,也可按住左键不放,拖动选择多行代码。如果设置了显示行号选项时,代码行号也在这里显示。,解决方案资源管理器窗口 Solution Explore,VS.NET使用
12、解决方案和项目来组织和管理应用程序的文件。解决方案是应用程序的基础,项目是构建块。 解决方案: 一个逻辑上的容器,包含构成应用程序的项目和其他文件,一个解决方案中可以包含一个或多个项目。 项目 一个独立的编程单位(包含窗体文件及其他一些相关文件),若干项目组成一个解决方案 解决方案可以含有以下类型的文件: 解决方案文件(.sln) 可包括用不同语言开发的项目 项目文件(.vbproj) 由引用的组件和代码模块组成 代码模块文件(.vb) 包括窗体文件、类模块或其他代码文件,应用程序文件夹结构,创建一个与项目同名的文件夹 解决方案定义文件:扩展名为.sln。 解决方案用户选项文件:扩展名为.su
13、o,包含了该方案中的所有项目名称、关联和配置信息。 窗体文件:每个窗体有3个文件,例如名称为Form1的窗体的文件是Form1.Designer.vb、Form1.vb、Form1.resx,分别保存窗体及控件信息、代码、资源信息。 MyProject文件夹:其中文件AssemblyInfo.vb保存了该程序集的名称、版本、程序集中所有文件的清单等信息。 Bin文件夹: Debug 文件夹:存放程序调试产生的信息 Release文件夹:存放程序发布产生的信息,命令窗口和即时窗口,命令窗口中,可以直接输入并执行VS.NET提供的各种命令,包括菜单中出现的以及没有出现的命令。即时窗口主要用于调试,
14、在调试时可以在其中计算表达式的值、查看和改变变量的值、调用函数和执行语句等。 即时窗口可以通过“调试|窗口|即时”命令来打开。在调试应用程序时,可以在即时窗口的命令行中输入表达式或变量名,然后按Enter键可以得到它们的值。在即时窗口中也可以通过箭头键来重新输入以前的命令,通过Ctrl + 箭头键来滚动窗口。,对象浏览器,查看不同组件中的对象(包括命名空间、类、结构、接口、类型和枚举等)和对象成员(包括属性、方法、事件、变量、常量和枚举项等。 可查看的组件包括解决方案中的项目,用户项目所引用的组件以及外部组件(如.NET框架组件、COM组件) 使用“视图|对象浏览器”命令打开对象浏览器窗口,如
15、图。 主要分为4个部分:工具栏、对象窗格、成员窗格和描述窗格。 左边的对象窗格列出当前浏览范围中的所有组件;右边的成员窗格显示所选中对象的所有成员;底部的描述窗格显示用户当前所选择对象或成员的描述信息。,窗体-事件,最常用的事件有Click、DblClick 、Load 和Activated Private Sub 对象名_事件名(对象引用,事件信息) Handles 事件处理程序 (程序代码) End Sub 其中,对象引用指向引发事件的对象,事件信息是与事件相关的信息。例如,按钮Button1的单击(Click)事件过程为: Private Sub Form1_Click(ByVal se
16、nder As System.Object, ByVal e As System.EventArgs) _ Handles Form1.Click Debug.Print(Asc(A) End Sub,窗体-方法,使用方法的语法形式: 对象.方法参数列表 窗体方法主要有 Show、Hide等 如果是对代码所在的窗体进行操作,应使用关键字Me,如Me.Close( ),本章目录,设置启动项目,启动项目, 解决方案中首先被生成和运行的项目。一个解决方案中可以存在一个或多个启动项目,使用粗字体显示。如果存在多个启动项目,那么包含它们的解决方案也显示为粗字体。 设置启动项目 选中该项目,从“项目”菜单
17、或是快捷菜单中选择“设为启动项目”命令即可,原来的启动项目将变为一般项目。 多启动项目的设置 通过解决方案的属性页对话框来完成。 选择解决方案节点,从“视图”菜单或是快捷菜单中选择“属性页”命令或单击“属性”按钮打开属性页对话框(如图)。,生成解决方案和项目,生成应用程序时,在工具栏中的“解决方案配置”下拉列表框选择要生成的版本:调试debug或发行release。 调试版本:为了进行调试,程序中包含大量的调试信息。发行版本:为了生成最终的应用程序,对生成的代码进行了充分优化,生成的代码尺寸更小、速度更快。 生成整个解决方案:选择“生成|生成解决方案”命令或是在解决方案资源管理器中选中解决方案
18、节点从快捷菜单选择相应命令。 单独生成一个项目:选中要生成的项目节点,右击从快捷菜单中选择“生成”命令。 同时生成多个项目:选择“生成|批生成”命令或是选中解决方案节点从快捷菜单中选择“批生成”命令,此时打开“批生成”对话框(如图)。,总结,Visual Studio .NET 2005 是用于创建、编写、运行和调试程序的集成开发环境。 用户使用 VS.NET 中的“起始页”可以自定义 IDE。IDE 还包含许多有用的链接,如最近的项目、下载和联机新闻组等 VS.NET 中的程序组成项目和解决方案。项目是一组相关的文件,解决方案则是一组相关的项目 Visual Studio .NET 为用户提
19、供了用于浏览文件的各种窗口 “动态帮助”窗口为用户提供了与当前光标所在位置相关的文章,Visual Basic.NET 编程基础,目标,数据类型 变量说明 表达式 代码书写 程序结构 变量作用域,Visual Basic.NET 2005的数据类型,数据类型 (Data Type) 不仅决定了可存储在变量中的值或数据的种类,而且决定了如何存储该数据。 在 Visual Basic 2005 中,Object 是通用数据类型。类型为 Object (VB6-Variant)的变量可存放任意类型的数据。 可以使用 System 命名空间中的类来获取 Object 实例的数值数据类型信息,如: Di
20、m Dtype As Integer Dtype = Type.GetTypeCode(SomeObj.GetType(),基本数据类型,数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 分为 值类型(Value Type):存储单元直接存放真正的数据 引用类型(Reference Type):存储单元存放的是实际数据的引用(地址),预定义数据类型 用户定义结构 枚举类型,值类型,引用类型,CTS,字符串 数组 类,数据类型成员,VB.NET数据类型具有成员,这些成员包括构造函数、方法、属性和字段。可以像访问对象的方法和属性那样访问变量的成员。 例如: Debug.Print(Sho
21、rt.MaxValue) 输出 32767 Debug.Print(Date.Parse(2008年8月8日8时) 输出 2008-8-8 8:00:00 Debug.Print(Char.IsDigit(3) 输出 True,常量和变量,常量 常量是在程序运行中不变的量,VB.NET中有三种常量: 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 Const 符号常量名 As 类型 = 表达式,Const PI = 3.14159265358979 Const CMax As Integer = 9 Const IDate = #11/30/2000# Const
22、MyString = Welcome, + My friend. Const Lilv = 0.045!,变量,命名规则: 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符(不区分大小写), 不能使用VB.NET中的关键字 1. 用Dim语句显式声明变量 Dim 变量名 As 类型=初始值 As部分缺省,创建的变量为Object类型 初始值子句,表示给声明的变量赋值 一条Dim语句可同时定义多个变量。多个相同类型变量,可用一个As来指定(前面几个由逗号分隔),这时不能给变量赋初值。 例如: Dim a As Long, b As Double, c As Sing
23、le,2. 隐式声明 若对变量不声明而直接使用,称为隐式声明。则需要在模块中所有程序代码的最前面加语句: Option Explicit Off 允许变量可以隐式声明还可以采用以下方法:在“工具”菜单中选择“选项”命令,在打开的对话框中选择“项目和解决方案VB默认值”节点,将其中的“Option Explicit”改为Off,运算符,和其他语言一样,VB.NET中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。 运算符是表示实现某种运算的符号。 算术运算符:+ - * / Mod 关系运算符: = = Like Is IsNot 字符连接运算符:& 移位运算符
24、: 逻辑/位运算符: And Or Not Xor AndAlso OrElse 赋值运算符:= = *= /= = += -= &= = 其他运算符:GetType TypeOf AddressOf,算术运算符,例:5+10 mod 10 9 / 3+2 2 结果:10,字符串运算符,& 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型;若为数值型则进行算术加运算;若一个为数字字符,另一个为数值,则自动将数字字符转换为数值后进行算术加;若一个为非数字字符型,另一个为数值型,则出错。例如: 操作 结果 操作 结果 ab & 123 ab123 ab + 12 出错 12
25、& 456 12456 12 + 456 468 12 & True 12True12 + True 11 注意: 在变量后使用运算符时,变量与间应加一个空格,关系运算符,关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。,逻辑运算符,逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。,不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 IntegerLongSingleDoubleCurrency VB.NET可以自动完成许多转换工作,比
26、如可以把一个整数直接赋值给字符串类型的变量。VB.NET提供了一个命令用于设置类型转换是否自动进行: Option Strict On | Off 此开关默认是关闭的,当此开关打开时,VB.NET将不允许在赋值时自动进行类型转换。例如,打开此开关后,以下代码将无法通过编译: Dim i As Double = 1.23E+30 Dim s As Single s = i Double型转换为Single型 TextBox1.Text = s 实型转换为字符串型,名称空间的使用,.NET 框架为开发人员提供了许多有用的类。例如,Console 类处理对控制台窗口的输入和输出。这些类是按照层次树的
27、形式组织的。Console 类的全限定名实际上是 System.Console。其他的类包括 System.IO.FileStream 和 System.Collections.Queue。 引用名称空间的方法: 项目引用 新建一个项目时,VB.NET根据所建项目类型,自动导入部分名称空间的引用 直接引用 给出名称空间的全名,就可访问其中的任一个类及其各项内容 例 使用Math类开方函数sqrt: Label1.Text = system.Math.sqrt(100) Imports语句允许在不使用全限定名的情况下引用命名空间中的类。 Imports 名称空间,.NET中的数学函数包含在Mat
28、h类。使用前在模块的开头用语句 Imports System.Math 导入,字符函数,字符串编码 VB.NET中字符串长度是以字(习惯称字符)为单位,每个西文字符和每个汉字都作为一个字,占两个字节。这是因为VB.NET采用Unicode(国际标准化组织ISO字符标准)来存储和操作字符串。 VB.NET中字符串处理有两种方式:保留和更新了VB6.0版本提供的函数;另一种是用System.String类的成员(函数) String型对象的成员函数 System.String类提供了丰富的字符串处理能力。使用System.String型对象的成员函数,可以确定字符串的长度、查找子串、改变字符串的大
29、小写、比较两个字符串、分割字符串等。,字符函数,类型转换函数,日期函数,例 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff(d, Now, #6/30/2007#),本章目录,DateTime型对象的成员函数,System.DateTime类提供了许多处理DateTime值的方法。要创建一个DateTime值,需声明一个DateTime类型的变量,并通过“#”分隔符赋予它一个DateTime常量,如下所示: Dim S_Time As DateTime = #7/20/2002 10:05:00 AM# DateTime类属性包括Year、Month、Day、Day
30、OfWeek、DayOfYear、Hour、Minute、Second、Millisecond、Ticks(每个Ticks等于100纳秒)等。 System.DateTime类还提供了几个增加/减少DateTime值某一部分的方法,它们是:AddYears,AddMonths,AddDays,AddHours,AddMinutes,AddSeconds,AddMilliseconds,AddTicks。,代码书写规则,(1)在同一行上可以书写多行语句,语句间用冒号(:)分隔 (2)单行语句可以分多行书写,在本行后加续行符:空格和下划线 _ (3)注释一般以 用撇号 开头;可以利用“编辑”工具栏
31、的“设置注释块”、“解除注释块”来将设置多行注释。 (4) VB.NET代码不区分字母的大小写 关键字,首字母自动转换成大写,其余字母转换成小写。 对于用户自定义的变量、过程名,以第一次定义的为准,以后输入的自动向首次定义的形式转换。,流程和控制结构,1. 分支结构 IfThen ElseIfThen Else End If,Select Case Case Case End Select,2. 循环结构,While If Exit While End While Do While/Until If Exit Do Loop,For 循环变量=start To end Step step If
32、 Exit For Next For Each element In group If Exit For Next,过程和函数,Sub过程 Sub subnameparameter Exit Sub/Return End Sub 函数过程 访问级别 Function funnameparameter As returntype Exit Function/Return End Sub,参数传递,值传递 ByVal 引用传递 ByRef,变量作用域,Public Module or Class Public A As Integer,Friend Module or Class Friend B As Date,Private Module or Class Private c As String,Procedure or Block Dim d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【2026考研】全国统考数学二模拟试卷(含答案详解)
- 考研数学一习题集全套-2026(高频考点)
- 2025年全国统考数学一模拟试卷(超清扫描版)
- 云南省昆明市五华区2027届数学四上期末学业水平测试模拟试题含解析
- 2026年高职(计算机应用技术)数据库应用综合测试试题及答案
- 2026年中职数控技术应用(数控车床操作)试题及答案
- 心理医学师考试题及答案
- 2026年高职(畜牧兽医)动物检疫检验综合测试题及答案
- 内江高考试题及答案
- 2026年中职(建筑装饰工程技术)墙面装饰综合测试及答案
- 2026年南昌县塘南镇综合行政执法辅助人员及便民服务人员招聘调整考试参考试题及答案详解
- (青桐鸣联考)河南新乡等地2025-2026学年下学期高二期末考试政治+答案
- 创意造型设计课件
- 2026中国再生资源行业人才需求特征与培养机制研究报告
- 人教版八年级上册道德与法治知识点总结
- 2025版糖尿病视网膜病变诊断与护理指南
- GB/T 8325-2026塑料聚合物分散体和橡胶胶乳pH值的测定
- 2026年超星尔雅人工智能与信息社会通关试卷及参考答案详解(研优卷)
- DB13T 2915-2025-地理标志产品质量要求+鹿泉香椿
- 中国口腔医疗连锁机构扩张战略与单店盈利模型分析报告
- 2026年CISO考试题及答案解析
评论
0/150
提交评论