版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB.NET程序设计实用教程
第1章VisualBasic.NET编程简介本章主要内容面向对象程序设计的根本概念
VisualBasic.NET简介
第一个VB.NETWindows应用程序——简单的数学计算器思考与实训
第一个VB.NET控制台应用程序——欢送信息的显示主要内容1.1VisualBasic.NET简介
.NET技术是Microsoft公司的一项新的软件开发标准,“它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。”它的目的就是将互连网作为新一代操作系统的根底,对互连网的设计思想进行扩展,它的最终目标就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后就可以接受处理的结果,而处理过程对用户而言根本透明。。1.1.1VisualStudio.NET概述〔1〕1.1VisualBasic.NET简介
VisualStudio.NET可视化应用程序开发工具组是.NET技术的开发平台,VisualBasic.NET〔以后简称VB.NET〕是该工具组中的一个重要成员,其中还包括VisualC++.NET〔简称VC++.NET〕、VisualC#.NET〔简称VC#.NET〕等开发工具。VisualStudio.NET通过公共语言运行环境(CLR),将VB.NET、VC++.NET、VC#.NET等应用程序开发工具紧密地集成在一起,使它们共同使用同一个集成开发环境〔IDE——IntergratedDevelopmentEnvironment),并使用同一个根底类库,从而大大简化了应用程序的开发过程,为快速创立Windows应用程序提供了强有力的支持。1.1.1VisualStudio.NET概述〔2〕1.1VisualBasic.NET简介
VisualBasic语言是在BASIC语言的根底上,加上面向对象和可视化的语言成份开展起来的。BASIC语言〔Beginner'sAll-purposeSymbolicInstructionCode——初学者通用符号指令代码〕是国际上广泛使用的一种程序设计语言,它的开展根本上经历了以下四个阶段。第一阶段〔1964年~20世纪70年代初期〕:1964年Basic语言问世;第二阶段〔1975年~20世纪80年代中期〕:微机上固化的Basic语言;第三阶段〔20世纪80年代中期~20世纪90年代初期〕:结构化Basic语言;第四阶段〔1991年~至今〕:VisualBasic和VB.NET语言。。1.1.2VisualBasic的开展历程〔1〕VisualBasic的开展历程1.1VisualBasic.NET简介Microsoft公司在推出了Windows平台之后,也把BASIC语言扩展到Windows平台下,并且增加了可视化编程的成份,这就是VisualBasic(简称VB)。1991年Microsoft公司推出了VB1.0版,其功能相对较少,也有一定的缺陷,但它是第一个可视化的编程工具软件,这在当时的业界引起了很大的轰动。在接下的四年中,Microsoft公司连续地推出了VB2.0、VB3.0、VB4.0三个版本,并从VB4.0开始引入了面向对象的程序设计思想,使之成为最为流行的编程语言之一。1.1.2VisualBasic的开展历程〔2〕1.1VisualBasic.NET简介1997年Microsoft公司发布了VisualStudio1.0,在该软件包中包含了VB5.0,1998年微软又发布了VisualStudio98,在该软件包中包含了VisualBasic6.0。VB5.0以前的各种版本,主要应用于Windows3.x环境中的16位应用程序开发。VB5.0版本,那么是一个32位应用程序开发工具,可运行在Windows95/98/2000或WindowsNT环境中。2000年Microsoft公司推出了VisualBasic.NET的测试版,并于2002年3月22日正式发布了VB.NET的中文版。1.1.2VisualBasic的开展历程〔3〕1.1VisualBasic.NET简介VB.NET是VisualBasic的全新版本。Microsoft公司重新设计了产品,而不仅仅是简单地在VisualBasic6.0的根底上添加某些新功能。新版本比以前的版本更易于编写分布式应用程序,如Web应用程序和企业多层系统。在VB.NET中,还删除了某些传统的关键字,提高了类型平安性,并公开了高级开发人员需要的低级别构造。1.1.2VisualBasic的开展历程〔4〕1、完全支持面向对象编程
虽然在VB4.0中就引入了面向对象的编程方式,但在VB.NET之前,它们均不是真正的面向对象的程序设计语言。VB.NET利用.NET框架提供的功能,引入了更严格的面向对象特性,如封装、继承、可重载性、多态性等,从而真正实现了面向对象的编程,是一门真正的面向对象的程序设计语言。1.1VisualBasic.NET简介1.1.3VisualBasic.NET的特点〔1〕2、使用ADO.NET进行数据访问在这里,只讨论狭义的数据访问,即访问数据库的技术和手段。在VB6.0中,使用的数据访问技术是ADO,而在VB.NET中,使用的数据访问技术为ADO.NET,这也是VB.NET的重大改进之一。ADO.NET是在ADO根底上开展起来的,是对ADO的重新设计和扩展,是一种全新的数据访问对象模型。ADO具有的功能,ADO.NET根本上都具有,同时ADO.NET更适用于分布式及Internet等应用程序运行环境。1.1VisualBasic.NET简介1.1.3VisualBasic.NET的特点〔2〕3、能够方便地进行Web应用程序的开发Microsoft公司将.NET框架主要定位在开发企业规模的Web应用程序以及高性能的桌面应用程序上。.NET平台所强调的是网络编程和网络效劳的概念,因此,基于.NET框架的VB.NET,在网络应用程序开发方面有了显著的改进。VB.NET提供了更直观、方便的Web应用程序开发环境,它可以用直接编辑ASP.NET的方式来开发Web应用程序。VB.NET还提供了开发Web效劳的功能,Web效劳可以看作是网上的API函数库,可以被Internet站点调用,调用Web效劳的程序称Web客户。Web效劳是一种构造新的Web应用程序的通用模型。1.1VisualBasic.NET简介1.1.3VisualBasic.NET的特点〔3〕1.1VisualBasic.NET简介
注意:VB.NET并不向下兼容,VB6.0的应用程序在VB.NET环境下不能直接执行,需使用VB.NET中提供的升级向导,将VB6.0的应用程序更改为VB.NET的应用程序,并还要进行一定工作量的人为改动后,才能在VB.NET环境下运行。1.1.3VisualBasic.NET的特点〔4〕1.2面向对象程序设计的根本概念类可以看成是对象的类型,它定义了对象的特征和行为规那么。对象是通过类产生的一个实例,类和对象都由唯一的名字进行标识,分别是类名和对象名。类是抽象的,而对象是具体的。如机器零件的构造图可以看成一个类,而根据该构造图创立的一个个机器零件就可以看成是一个个具体的对象。由一个类产生的多个对象根本上都具有同样的特征和性能。1.2.1类与对象1.2面向对象程序设计的根本概念对象的特征称为属性,属性是类或对象的一种成份。如对象的名称、大小、标题等等。可视化语言中类或对象的属性是由类似的变量组成的,每个属性都有自己的名字以及一个相关的值,标准控件的属性名根本上都是系统规定好的。在学习VB.NET的过程中要注意记住属性名和理解属性名的含义。VB.NET中的每个控件都有一系列的属性,在许多场合都可以通过可视化的手段或编程的方法改变属性的值。1.2.2属性1.2面向对象程序设计的根本概念1.2.3方法与事件〔1〕方法是对象具有的功能,事件是对象能够响应的外界刺激。方法与事件是类的成份,它们共同决定了类产生的对象的行为特征。实际上方法就是封装在类里面特定的过程,这些过程的代码,一般用户很难看到,这就是类的“封装性”。方法由方法名来标识,标准控件的方法名一般也是系统规定好了的。在VB.NET中,所说的控件其实就是一种类,一般每个类都具有一系列的标准方法,如Form类具有Show、Hide、Close等方法。1.2面向对象程序设计的根本概念事件可看作是对对象的一种操作。如在程序运行中,对某个对象用鼠标单击一次,就触发了该对象的一次“单击〔Click〕”事件。事件由事件名标识,控件的事件名也是系统规定好的。在学习VB.NET过程中,也要注意记住事件名、事件的含义及其发生场合。在VB.NET中,事件一般都是由用户通过输入手段或者是系统某些特定的行为产生的。输入手段如:鼠标器在某对象上单击一次,触发Click事件。系统的特定行为如:定时器的时间间隔到,会发生定时器对象的Tick事件。1.2.3方法与事件〔2〕1.2面向对象程序设计的根本概念面向对象的程序设计语言的根本编程模式是事件驱动。即程序启动后将根据发生的事件执行相应的事件过程〔一般是用户编写的一段程序代码〕,如果无事件发生,程序处于空闲状态,等待新的事件的发生,此时用户也可以启动其它的应用程序。因此在这种程序设计模式下,程序员只需考虑发生了某事件时,系统应该完成的功能,从而编写实现该功能的对应的事件过程代码,事件过程代码通常很短,易于编写。1.2.4事件驱动的程序设计1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器编写一个简单的数学计算器程序,程序的运行界面如图1-1所示。程序运行时,在第一个个文本框和第二个文本框中输入两个数,然后单击相应的计算按钮〔+、-、×、÷〕,将在前两个文本框之间显示出运算符号,在第三个文本框中显示结果。单击“退出”按钮将结束程序的运行。任务1-1描述
图1-1
程序运行界面1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器输入数据和显示计算结果可使用文本框〔TextBox〕控件,可通过文本框控件的Text属性获取用户输入的数据或把计算结果显示出来。显示运算符号和“=”可使用标签〔Label〕控件,标签控件中显示的内容也是通过设置它的Text属性来实现的。相应命令按钮的功能可通过编写它们的Click事件过程代码来实现,在事件过程中首先获取用户在前两个文本框中输入的两个数,再对这两个数进行指定的运算得到运算结果,最后把运算结果显示在第三个文本框中,在运算中需要使用VB.NET的一些常用的算术运算符,如“+”、“-”、“*”、“/”等。要退出应用程序,只需直接执行语句“End”即可。任务分析:1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器启动VisualStudio.NET。在WindowsXP中的启动方法是:单击“开始”菜单项,指向“所有程序”,指向“MicrosoftVisualStudio.NET2003”或“MicrosoftVisualStudio.NET2005”程序组,在该程序组中选中“MicrosoftVisualStudio.NET2003”或“MicrosoftVisualStudio.NET2005”程序项〔以后类似于这样的菜单操作统一写成:执行【开始】→【所有程序】→【MicrosoftVisualStudio.NET】→【MicrosoftVisualStudio.NET】菜单命令〕,将会出现如图1-2所示的“MicrosoftDevelopmentEnvironment[设计]-起始页”窗口。任务实现:(1)1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器图1-2“MicrosoftDevelopmentEnvironment[设计]-起始页”窗口1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器执行【文件】→【新建】→【工程】命令,将会弹出“新建工程”对话框,在该对话框的“工程类型”列表中选择“VisualBasic工程”,在“模板”列表中选择“Windows应用程序”,在“位置”文本框中输入工程保存位置“D:\VBTASK\ch01\Task1_1”,在“名称”文本框中输入“Task1_1”,如图1-3所示。然后单击【确定】按钮,出现VisualStudio.NET的集成开发环境,如图1-4所示。任务实现:(2)1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器图1-3“新建工程”对话框1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器图1-4VB.NET集成开发环境1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器“解决方案资源管理器”窗口首先应理解解决方案与工程的关系,工程可以视为编译后的一个可执行单元,可以是应用程序、动态链接库等,而企业级的解决方案往往需要多个可执行程序的合作,为便于管理多个工程,在VisualStudio.NET集成环境中引入了解决方案资源管理器,用来对企业级解决方案中涉及到的多个工程进行管理。可以通过拖动“解决方案资源管理器”窗口的标题栏,使该窗口浮动,如图1-5所示。如果集成环境中没有出现该窗口,可通过执行【视图】→【解决方案资源管理器】命令来显示该窗口。浮动的窗口也可通过双击标题栏使之靠边停泊。说明:各组成局部的作用如下〔1〕1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器“类视图”窗口“类视图”窗口如图1-6所示。如果集成环境中没有出现该窗口,可通过执行【视图】→【类视图】命令来显示该窗口说明:各组成局部的作用如下〔2〕图1-5“解决方案资源管理器”窗口
图1-6“类视图”窗口
1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器“类视图”窗口中以树形结构显示了当前工程中的所有类,并在每个类中列出了成员变量和成员函数,每一个类首先列出带有紫色图标的成员函数,然后是带有绿蓝色图标的成员变量。每个成员的图标左边都有一个标志,以表示成员类型和存取类别的信息,保护型成员图标旁边的标志为一把钥匙,私有成员的标志是一把锁,而公有成员图标旁边没有标志。在“类视图”窗口中双击类名,会在主工作区中翻开这个类的头文件,显示出类的声明;而双击某个类的成员,那么主工作区中会显示该成员的定义代码。说明:各组成局部的作用如下〔2〕1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器
“工具箱”窗口“工具箱”窗口如图1-7所示。如果集成环境中没有出现该窗口,可通过执行【视图】→【工具箱】命令来显示该窗口。说明:各组成局部的作用如下〔3〕图1-7“工具箱“窗口1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:各组成局部的作用如下〔3〕“工具箱”中包含了可重用的控件(或称组件),用于自定义应用程序。使用可视化的方法编程时,程序员可在窗体中“拖放”控件,绘制出应用程序界面,而不用自己去写代码。控件在“工具箱”中是以组的形式出现的,如“数据”组、“组件”组、“Windows窗体”组。通过单击组名称能展开一个组。通过使用“工具箱”右下部的黑色滚动箭头“”,用户能滚动浏览所有的控件。组的第一项不是控件,它是鼠标指针,单击它后可以取消对控件的选择,以便重新选择其它控件。最初,“工具箱”可能会隐藏起来,而仅仅是在IDE的边上显示出窗口名称。移动鼠标指针到窗口名字上能翻开这个窗口,鼠标指针移出窗口时窗口会消失,这是自动隐藏特性。要关掉“工具箱”的自动隐藏功能,单击在窗口右上角的大头针图标“”,使之变成“”。假设再单击大头针图标“”,使之变成“”,就又翻开“工具箱”的自动隐藏功能。注意:当翻开自动隐藏功能时,大头针指到了旁边,这在其它窗口的隐藏中也是一样的。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器
“属性”窗口“属性”窗口如图1-8所示。如果集成环境中没有出现该窗口,可通过执行【视图】→【属性】命令来显示该窗口。说明:各组成局部的作用如下〔4〕图1-8属性窗口1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器“属性”窗口用于设置窗体或者控件的属性。属性定义了控件的信息,诸如大小、颜色和位置等。每个控件都有自己的一组属性。“属性”窗口左边一栏显示了窗体或控件的属性名,右边一栏显示属性的当前值。可以单击“按字母排序图标”按钮“”使属性名按照字母顺序排列,单击“按分类排序图标”按钮“”使属性名按照分类顺序排列。在“属性”窗口的顶部是一个下拉列表,被称为控件〔或组件〕选择框。此列表框显示当前正在修改的控件,程序员可以使用该列表框来选择一个控件进行修改。例如,如果一个窗体包含几个按钮,程序员可以通过它选择指定按钮的名称来进行修改。说明:各组成局部的作用如下〔4〕1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器单击窗体Form1,然后单击“属性”窗口,找到窗体Form1的Text属性,把它的属性值设置为“简单的数学计算器”,把它的“〔Name〕”属性值设置为“frmCal1”。单击“解决方案资源管理器”中的窗体图标“Form1.vb”,属性窗口中显示出相应的文件属性,把文件名也改为“frmCal1”。在“工具箱”中单击“Windows窗体”工具组,用鼠标单击文本框控件工具“”,然后在窗体的适当位置按下鼠标并拖动,将会在窗体上生成一个文本框控件。在“属性”窗口中把它的Text属性值“TextBox1”删除使之为空,把它的“Name”属性值设置为“txtNum1”。采用同样的方法再为窗体添加两个文本框控件,把它们的Text属性值设置为空,“Name”属性值分别设置为“txtNum2”和“txtResult”。注意:假设“工具箱”没有显示出来,应执行【视图】→【工具箱】命令把工具箱显示出来。任务实现:(3)1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(4)在“Windows窗体”工具组中,用鼠标单击标签控件工具“”,然后在窗体的txtNum1控件和txtNum2控件的适当位置按下鼠标并拖动,将会在窗体上生成一个标签控件。在“属性”窗口中把它的Text属性值清空,找到它的Font属性,单击其前面的“+”以展开该属性,把它的子属性Size设为“12”。采用同样的方法在txtNum2控件和txtResult控件之间添加一个标签控件,把它的Text属性值设置为“=”,把它的Font的子属性Size设为“12”。此时界面如图1-9所示。图1-9添加了三个文本框和两个标签的程序界面
图1-10设计完成的程序界面
1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(5)在“Windows窗体”工具组中,用鼠标单击命令按钮控件工具“”,然后在窗体的适当位置按下鼠标并拖动,将会在窗体上生成一个命令按钮控件。在“属性”窗口中把它的Text属性值设置为“+”,把它的“Name”属性值设置为“btnAdd”。采用同样的方法向窗体上再添加4个命令按钮控件,把它们的“Text”属性值分别设置为“-”、“×”、“÷”和“退出”,把它们的“Name”属性值分别设置为“btnSub”、“btnMul”、“btnDiv”和“btnExit”。设计完成的程序设计界面如图1-10所示。
1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(6)
在“+”按钮上双击,将会出现如图1-11所示的代码窗口,并且插入点位于btnAdd_Click〔btnAdd按钮的单击事件〕事件过程框架中。编写事件过程代码如下:PrivateSubbtnAdd_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnAdd.ClickDimNum1AsSingle,Num2AsSingle'定义两个变量,分别用来存放两个加数DimResultAsInteger'用来存放结果Label1.Text="+"'显示运算符号“+”Num1=Val(txtNum1.Text)'获取用户输入的第一个数Num2=Val(textNum2.Text)‘获取用户输入的第二个数Result=Num1+Num2'加法运算txtResult.Text=CStr(Result)'显示结果EndSub1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(7)图1-11“代码”窗口1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:〔1〕〔1〕程序中的第一条和第二条语句是Dim语句,该语句用来定义变量,As后面跟变量类型,Single代表单精度类型,Integer代表整型。〔2〕语句后面类似于“'定义两个变量,分别用来存放两个加数”的一串字符是注释,在VB.NET中,注释可由单引号“'”引导,后面跟一串字符。注释并不参加执行,它的主要作用是对程序的功能进行说明,使程序易于理解。〔3〕语句“Label1.Text="+"”用来给Label1的Text属性赋值,注意引用对象属性的方法为:对象名.属性名。〔4〕语句中的Val是一个系统函数,其作用是把一个字符串转化为数值〔双精度型〕。Cstr也是一个系统函数,其作用是把一个对象型转换成一个字符串型。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:〔2〕〔5〕程序中类似于“Num1=Val(txtNum1.Text)”的语句均是赋值语句,其作用是把表达式的值赋给变量或对象的属性。赋值语句是程序设计中最根本、最常用的语句,它的格式及功能如下。[格式1]:变量名=表达式[功能]:将表达式的值赋值给变量。[格式2]:对象.属性名=表达式[功能]:将表达式的值赋值给对象的属性。[说明]:表达式的结果与变量或对象的属性同属于一种类型或能够赋值相容的类型。赋值语句先计算等号右边表达式的值,然后将计算出来的值赋给等号左边的变量或属性。因此赋值语句具有计算和赋值的双重功能。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:〔3〕〔6〕程序中的Num1、Num2、Result等是变量的名称,txtResult是文本框控件的名称,它们都是标识符。在程序中会用到各种对象,如符号常量、变量、数组、过程和类型等,为了识别这些对象,必须给每一个对象一个名称,这样的名称称为标识符。标识符是用户定义的一种字符序列。标识符由用户指定,但必须遵循以下语法规那么:作为标识符的字符串内不能含有点号和%、&、!、#、@、$、空格等字符;第1个字符必须为字母;长度不能超过255个字符。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:〔4〕例如,下面是合法的VB.NET语言标识符:Button8、Left、total、Student_No、sum、Form1。下面是不合法的VB语言标识符:5worker〔数字不能作为标识符的第1个字符〕,A#5〔标识符中出现非法字符〕,zhongguo〔空格不能出现在一个标识符的中间〕。命名标识符时除了按照上述规那么外,还需注意以下几点:标识符的命名不区分大小写。例如SUM、Sum及sum认为是统一标识符。VB中的关键字是一类特殊的标识符,它们具有特定的含义,已被VB本身使用,不能再作它用。即关键字不能用作变量名、常量名、过程名等。VB中提供了大量的内部函数和过程,这些内部函数或过程名,用户定义标识符时应注意防止重名。命名标识符时应注意做到“见名知意”,即选有相应含义的英文单词、汉语拼音等作为标识符,如Student(表示学生)、Name〔表示姓名〕、Salary〔表示工资〕等,以增加程序的可读性。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(8)8.执行【调试】→【开始执行〔不调试〕】命令或单击按工具栏上的启动按钮“”或按“F5”键,执行程序,该程序执行时将会出现如图1-12年所示的错误提示框。单击“否”按钮,在窗体下面的“任务列表”窗口中显示出如图1-13所示的错误提示信息。对照该提示信息发现代码中名称“textNum2”下面加了波浪线,这是系统在自动检测出来的语法错误下面加的标记。把鼠标移到该波浪线上,将会显示出错误提示信息,如图1-14所示。不难发现这是一个笔误,应该是“txtNum2”,改正过来后,波浪线将会消失。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器图1-12错误提示框
图1-13任务列表中显示出来的错误信息〔一〕图1-14系统自动检测出来的语法错误1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:语法错误是指在程序代码中,存在不符合VB.NET语法规那么的语句而产生的错误。如数据类型不匹配、过程或函数未定义、函数缺少必要的参数等。如果出现此类错误,在代码输入过程中,系统就会自动检测出来,并在错误代码下面标上波浪线,同时在任务列表窗口上也显示出警告信息。当把鼠标移到波浪线上方时,系统会显示出错的原因。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(9)再一次执行程序,依旧会出现如图1-12所示的错误提示框。单击“否”按钮后,在窗体下面的“任务列表”窗口中显示出如图1-15所示的错误提示信息。该错误出现的原因是工程刚创立时,自动产生的Form1窗体默认了启动窗体,而在设计过程中Form1窗体的名称已修为“frmCal1”,因此启动窗体也应相应的改变。改变方法是执行【工程】→【Task1_1属性】命令,将会出现“Task1_1属性页”对话框,从“启动对象”下面的列表框中选择“frmCal1”窗体为启动对象,如图1-16所示。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器图1-15任务列表中显示出来的错误信息〔二〕图1-16设置工程的启动对象1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:该错误也可以说是一个语法错误,原因是由于启动对象的不存在,EXE文件无法产生,工程并没有执行,所以不是运行时产生的错误,而是违反了VB.NET的规定而产生的错误,是语法错误。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(10)
再一次执行程序,程序将运行,在第一个文本框中输入65.25,在第二个文本框中输入32.47,单击“+”按钮,将会把计算结果显示在第三个文本框中,如图1-17所示。可见运算的结果并不正确,应该是97.72,而不应该是98。对程序进行分析,发现产生错误的原因是变量Result的类型定义不符合要求,要存放实数,应定义成Single型或Double型。把语句“DimResultAsInteger”修改为“DimResultAsSingle”,运行程序,会发现“+”运算结果正确。图1-17程序运行结果〔一〕1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器说明:本步骤产生的错误是一种逻辑错误。在程序设计中,有时会出现这样一种情况:程序在编辑和编译时,没有发现任何语法错误,程序也能正常运行和正常退出,可是程序就是不能实现我们要求的功能。在这种情况下,通常就是程序中出现了逻辑错误。常见的逻辑错误有:运算符使用不正确、赋值的变量类型不正确、语句的次序不对、循环语句的起始值或终值不正确、误输入等。通常,逻辑错误不会产生错误提示,因此排除较难,程序员需要根据程序要求实现的功能认真地阅读分析程序,并借助调试工具进行查找和改正。
1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(11)
接着编写“-”、“×”、“÷”等按钮的Click事件过程代码,编写方法与编写“+”按钮的事件过程代码完全一致。它们的程序代码分别如下。
PrivateSubbtnSub_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnSub.Click
DimNum1AsSingle,Num2AsSingle
'定义两个变量,分别用来存放被减数和减数
DimResultAsSingle
'用来存放结果
Label1.Text="-"'显示运算符号“-”Num1=Val(txtNum1.Text)'获取用户输入的被减数
Num2=Val(txtNum2.Text)'获取用户输入的减数
Result=Num1-Num2'减法运算
txtResult.Text=CStr(Result)'显示结果
EndSub1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器
PrivateSubbtnMul_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnMul.Click
DimNum1AsSingle,Num2AsSingle
'定义两个变量,分别用来存放两个乘数
DimResultAsSingle'用来存放结果
Label1.Text="×"'显示运算符号“×”Num1=Val(txtNum1.Text)'获取用户输入的第一个乘数
Num2=Val(txtNum2.Text)'获取用户输入的第二个乘数
Result=Num1*Num2'乘法运算
txtResult.Text=CStr(Result)'显示结果
EndSub任务实现:(11)1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(11)
PrivateSubbtnDiv_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnDiv.Click
DimNum1AsSingle,Num2AsSingle
'定义两个变量,分别用来被除数和除数
DimResultAsSingle
'用来存放结果
Label1.Text="÷"'显示运算符号“÷”Num1=Val(txtNum1.Text)'获取用户输入的被除数
Num2=Val(txtNum2.Text)'获取用户输入的除数
Result=Num1/Num2'除法运算
txtResult.Text=CStr(Result)'显示结果
EndSub1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(12)运行程序,对“-”、“×”、“÷”等按钮的功能进行验证,发现它们的功能根本正常。在除法运算时,如果除数设置为0,运算结果为“正无穷大”或“负无穷大”,如图1-18所示。图1-18程序运行结果〔二〕注意:注意实数的除运算允许除数为0,运算不报错,但运算结果没有意义。
1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(13)给“退出”按钮编写Click事件过程代码,如下。
PrivateSubbtnExit_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnExit.Click
End
'退出应用程序
EndSub说明:退出应用程序除了可以执行End语句来实现外,还可以调用Application对象的Exit方法来实现,调用格式如下:Application.Exit() 或 Application.Exit其作用是结束应用程序的运行。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器任务实现:(14)运行程序,单击“退出”按钮,程序立即结束。单击常用工具栏上的“”按钮,保存工程及工程中的窗体文件。至此,本任务全部完成。归纳说明:在VB.NET中,一个工程可以看成一个应用程序。本节通过任务“简单的数学计算器”的实现过程详细讲解了VB.NET集成开发环境的组成与使用,控件建立的方法、通过属性窗口设置控件属性的方法、编写控件的事件过程代码的方法等。在控件的事件代码编写过程中讲解了注释语句、赋值语句的使用方法以及常用的算术运算符〔+、-、*、/〕的使用。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器拓展与提高:任何程序员都无法保证自己编写的程序不出现错误〔称Bug〕,根据错误的性质,可以将错误分成语法错误、逻辑错误和运行错误。语法错误一般容易查出。为排除逻辑错误和运行错误,一般要进行程序调试〔称Debug〕。运行错误有时又称异常,如果出现了运行错误而没有进行处理,系统将会给出提示信息并自动结束程序的运行。本任务的实现过程中已经涉及到了语法错误和逻辑错误,下面通过一个例子来讲解运行错误的概念。把任务1-1中的btnDiv_Click事件过程代码中的变量Num1、Num2和Result类型均定义成Integer类,然后运行程序,输入除数的值〔Num2的值〕为0,然后单击“÷”按钮,将会出现如图1-19所示的运行错误信息提示对话框。单击“继续”,程序将结束运行。单击“中断”,VB.NET将进入“中断”模式,可以对程序进行调试。1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器拓展与提高:运行错误是指程序中的语句本身是正确的,但是这些语句在运行时无法正确执行,从而导致程序发生错误。运行错误比语法错误更加隐蔽,这是因为运行错误是在程序执行时遇到了一些非法操作引起的。这类错误常见的有:翻开一个不存在的文件、磁盘空间缺乏、网络连接断开、除运算中除数为0、从效劳器读取数据时发生效劳器断开连接、输入的数据类型不匹配等。这类错误在程序编辑或编译时不会被发现,只有在运行时才会发现。程序在运行时发生错误,系统通常会给出一个错误提示信息,然后终止程序的运行。运行错误也称异常,编程时应能尽量防止异常,或在出现异常的时候能够捕获并加以处理。图1-19运行错误例如1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器1.面向对象程序设计中的类、对象、属性、方法、事件之间有什么关系?2.面向对象程序设计的运行机机制是什么?请说明该运行机制的含义。3.编写一个VB.NETWindows应用程序,程序的设计界面如图1-20所示。程序运行时单击“退出”按钮将结束应用程序的执行。思考与实训:图1-20程序设计界面1.3任务1-1:第一个VB.NETWindows应用程序——简单的数学计算器思考与实训:4.编写一个显示和隐藏欢送词的程序,程序一开始的运行界面如图1-21所示,欢送词显示出来且“隐藏”按钮可用,“显示”按钮变灰。单击“隐藏”按钮,程序的运行界面如图1-22所示,欢送词隐藏起来且“显示”按钮可用,“隐藏”按钮变灰。单击“显示”按钮,程序运行界面又如图1-21所示。图1-21程序运行界面一
图1-22程序运行界面二
1.4任务1-2:第一个VB.NET控制台应用程序——欢送信息的显示在VB.NET中除了可以编写Windows应用程序外,还可以编写控制台应用程序。控制台应用程序的运行界面类似于DOS的命令行,一般从命令行运行,可从控制台窗口读写信息,它适合于只注重功能而不是界面的应用程序。编写一个控制台应用程序,程序执行时通过提示提醒用户输入姓名和性别,然后根据用户输入的性别信息显示出“欢送你,***先生!”信息或“欢送你,***女士!”信息。程序执行结果如图1-23所示:任务1-2描述:图1-23程序运行结果1.4任务1-2:第一个VB.NET控制台应用程序——欢送信息的显示在控制台程序中,可以使用Console对象进行信息的输入输出。可调用该对象的ReadLine方法读取信息,调用该对象的WriteLine方法输出信息。任务分析:任务实现:〔1〕1.在VisualStudio.NET集成开发环境中,执行【文件】→【新建工程】命令,将翻开“新建工程”对话框,在“工程类型”列表框中,选择“VisualBasic工程”选项,在“模板”框中,选择“控制台应用程序”,并在下面“名称”文本框中输入工程名称“Task1_2”,在“位置”列表框中为之设定一个保存路径为“D:\VBTASK\CH01”,如图1-24所示。单击“确定”按钮,将会出现如图1-25所示的代码窗口,在该窗口中自动生成有4行代码的控制台应用程序的模板。1.4任务1-2:第一个VB.NET控制台应用程序——欢送信息的显示图1-24“新建工程”对话框图1-25控制台应用程序模板1.4任务1-2:第一个VB.NET控制台应用程序——欢送信息的显示2.在SubMain()过程中编写如下程序代码:SubMain()DimXMAsString'定义存放人姓名的变量XMDimXBAsString'定义存放人性别的变量XBConsole.Write("请输入您的姓名:"):XM=Console.ReadLine()'输入人的姓名Console.Write("请输入您的性别:")'输出提示信息XB=Console.ReadLine()'读入人的性别IfXB="男"Then'对性别进行判断REM性别为男时显示的信息Console.WriteLine("欢送您,{0}先生!",XM)ElseREM性别为女时显示的信息Console.WriteLine("欢送您,{0}女士!",XM)EndIfConsole.Read()REM读取一个字符,目的是让程序停下来,以便观察结果EndSub任务实现:〔2〕1.4任务1-2:第一个VB.NET控制台应用程序——欢送信息的显示说明:〔1〕〔1〕创立一个新的控制台应用程序工程,实际上就是创立一个Module模块,在这个模块中,包含了一个空白的SubMain()过程。如下所示:ModuleModulel'模块定义SubMain()'SubMain过程定义EndSubEndModule在VB.NET中,Main()过程是控制台应用程序的入口点,当控制台应用程序运行时,总是从SubMain()过程开始运行。〔2〕程序中的语句“Console.Write("请输入您的姓名:"):XM=Console.ReadLine()”是两条语句写成一行。在VB.NET程序中,通常一行写一条语句,但一条语句也可以写在多行上,一行也可以写多条语句。假设一行写多条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省韶关市2021-2022学年七年级上学期期末历史试题(含答案)
- 2027年员工合同考核二篇
- 2027年联络取消合同二篇
- 2027年租大巴合同板本二篇
- 合规转利润:降本增效全指南(2026)《GBT 36003-2018镀锡或镀铬薄钢板罐头空罐》
- 《中位数》第四课时教学设计
- 果蔬坚果加工工安全风险考核试卷含答案
- 汽车锻造生产线操作工岗前评优考核试卷含答案
- 打叶复烤设备操作工成果转化水平考核试卷含答案
- 铸造碳化钨制管工岗前安全培训考核试卷含答案
- 2026课件-国家安全教育大学生读本教案第五章 坚持以政治安全为根本-新版
- 修理厂生产隐患管理制度
- 【小升初典型奥数】重叠问题(含解析)-2024-2025学年六年级下册数学苏教版
- 生物质锅炉安全培训课件
- 2026年射箭裁判二级试题及核心解析
- 跨境服务贸易税收政策解析
- 2025年1月福建省普通高中学业水平合格性考试语文试题(含答案详解)
- 船舶改装改建合同范本
- 模具质量管理体系培训
- 四川省辅警考试试题及答案
- 《电子商务基础 第2版》 课件全套 王欣 项目1-7 电子商务认知 -网店开设
评论
0/150
提交评论