版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 走进VB.NET案例引入3【例1-1】飞花令是我国古代的吟诗游戏,本例设计关于圆周率的飞花令。要求依据圆周率为关键词展示诗句。分析:根据题目要求,祖冲之计算3.1415926,那么飞花令第一句就接含有数字3的诗句,第二句接含有数字1的诗词,第三句接含有数字4的诗词,以此类推。圆周率的保留位数可以采用滚动字幕方式,在窗体上逐一显示,并给出与出现数字对应的诗句。1.1 VB.NET概述1.1.1 VB.NET简介Visual Basic.NET通常简称为VB.NET,它是构建于.Net Framework之上的一种面向对象的计算机编程语言。VB.NET所开发的程序源代码并不编译成能够直接在
2、操作系统上执行的二进制本地代码,而是被编译成为中间代码,然后通过.NET Framework的通用语言运行时(CLR)执行。由于VB.NET是由微软的.NET框架实现的。因此,它可以完全访问.Net框架中的所有库。像所有其他.NET语言一样,VB.NET完全支持面向对象的概念。1.1 VB.NET概述51.1.2 VB.NET主要特点1.面向对象的可视化设计2. 事件驱动的编程机制3.支持结构化程序设计4.集成式开发环境5.强大的数据库功能6.网络应用程序开发功能 7.完备的帮助功能 1.2 VB.NET集成开发环境61.2.1 Visual Studio2010安装1.2 VB.NET集成开
3、发环境71.2.2 VB.NET集成开发环境简介1.启动VB.NET1.2 VB.NET集成开发环境81.2.2 VB.NET集成开发环境简介2.主窗口1.2 VB.NET集成开发环境91.2.2 VB.NET集成开发环境简介3.窗体设计器窗口1.2 VB.NET集成开发环境101.2.2 VB.NET集成开发环境简介4.工具箱1.2 VB.NET集成开发环境111.2.2 VB.NET集成开发环境简介5.属性窗口1.2 VB.NET集成开发环境121.2.2 VB.NET集成开发环境简介6.代码窗口1.2 VB.NET集成开发环境131.2.2 VB.NET集成开发环境简介7.解决方案资源管
4、理窗口1.2 VB.NET集成开发环境141.2.2 VB.NET集成开发环境简介8.错误列表窗口1.3 创建简单的VB.NET程序151.3.1 建立应用程序的步骤创建一个VB.NET程序的一般步骤如下。(1)新建VB.NET Windows窗体应用程序项目。(2)建立用户界面。(3)设置对象属性。(4)编写代码。(5)调试运行程序。(6)保存文件。1.3.2 一个简单的程序16【例1-2】在计算机屏幕上输出“hello, world”这一串字符串。(1)新建VB.NET Windows窗体应用程序项目启动Visual Studio2010,在“起始页”选择“新建项目”。在打开的“新建项目”
5、窗口左侧选择“Visual Basic”,中间选择“Windows窗体应用程序”,单击确定可建立一个默认名为“WindowsApplication1”的新项目。(2)建立用户界面新建好应用程序后,系统自动创建一个空白的Form窗体。接下来在窗体上添加一个Label标签和一个Button命令按钮。标签Label1用于输出字符串,命令按钮Button1用于执行命令。17(3)设置对象属性单击选中控件对象,通过属性窗口对其进行属性设置,控件属性设置如表1-2,设计完成的程序界面如图1-16所示。控件类别控件名属性值窗体Form1Text例1-2标签Label1Text命令按钮Button1Text显
6、示表1-2 对象属性设置18(4)编写代码要实现相关功能,还需要编写事件过程代码。双击命令按钮Button1,打开代码编辑窗口,系统自动建立Button1_Click事件过程模板。在该事件过程中输入语句,程序代码如下。Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = hello,world End SubEnd Class19(5)调试运行程序单击工具栏上的绿色“启
7、动调试”按钮,或按F5键,运行程序。系统进行编译,如果存在语法错误,则在下方“错误列表”窗口显示错误信息,提示用户修改;如果没有语法错误,生成可执行程序并执行。(6)保存文件。单击工具栏上的“全部保存”按钮,打开“保存项目”对话框,如图所示。在“名称”文本框输入项目名,并选择项目保存的位置,单击“保存”按钮,系统在指定位置建立方案文件和项目文件夹,保存该项目所包含的全部文件。1.3.3 代码书写规则201.不区分字母大小写VB.NET语句输入时不区分大小写,系统会对用户编写的代码自动转换。(1)关键字。系统自动把关键字首字母转换为大写,其余字母均为小写。(2)用户自定义。对用户自定义的变量名、
8、过程名、函数名,以第一次定义的为准,以后再次出现时自动转换成首次定义形式。2.按行书写VB.NET编写程序时,通常按行书写,一行一条语句。也可以一条语句分成多行或一行写多条语句。(1)语句续行。当一条语句很长时,为了阅读方便可以分几行书写,在代码行尾加续行符“_”,表示与下一行代码属于同一条语句,编译时作为一行处理,例如: Label1.Text = Label1.Text & i & . & TextBox1.Text & vbCrLf _ & StrDup(50, -) & vbCrLf(2)复合语句。对一些简短语句可以将几条语句写在一行,语句之间用冒号“:”分隔。例如: Label1.T
9、ext = 用户名 : Label2.Text = 密码 : Label3.Text = 验证码1.3.3 代码书写规则213.注释程序员为了提升程序的可读性,在代码书写时会加上必要的文字说明,解释关键代码的原理或用途。注释是辅助性文字,在代码窗口中以绿色显示,系统编译时不对注释内容进行编译。(1)单撇“”。撇号后面的内容为注释,出现在整行开头或某条语句后面。可以单击工具栏上的“注释选中行”按钮,将选定行作为注释语句,反之单击“取消对选中行的注释”按钮解除注释。(2)Rem语句。以Rem开头的整行语句为注释语句。第2章 VB.NET语言基础23案例引入24【例2-1】我们经常会在各种平台发表留
10、言,并希望被采纳展示。设计一个简易留言板实现留言上墙功能分析:根据题目要求,要实现留言上墙,可以利用TextBox文本框输入留言,通过Label标签显示上墙,记录下留言条数。(1)整型变量i统计留言条数(2)连接符&和符号常量vbCrlf实现多行显示信息(3)函数StrDup()在各条留言之间建立分割线。2.1 数据类型252.1.1 基本数据类型数据类型关键字类型符占字节数范围 数值整型Integer%4-2 147 483 6482 147 483 647长整型Long&8-263263-1短整型Short2-32 76832767单精度型Single!4-3.4E38+3.4E38双精度
11、型Double#8-1.79E308+1.79E308十进制数型Decimal16-292-1292-1字节型Byte10255字符字符型Char$2单个Unicode字符字符串型String可变动020亿个Unicode字符逻辑型Boolean2True 或 False日期型Date81/1/000112/31/9999对象型Object4任何对象类型2.1.2 标识符26VB.Net中标识符的命名基本规则如下:(1)标识符通常由英文字母(不区分大小写)和数字以及其它字符构成。首字符为英文字母、下划线或汉字。(2)程序设计语言中,预先定义了一些作专门用途的标识符,即保留的关键字,用户命名的标
12、识符不能与关键字相同。例如,Exit、For、Sub等。合法的标识符:Avg、H、xY、a11。不合法的标识符:2a、x-y、xiao ming、Sin。2.2 常量与变量272.2.1 常量1.普通常量常量值可以直接反映数据的类型,例如:(1)数值常量:即常数,100、&H1B、3.14159、-9.87E+10(2)字符常量:用一对双引号括起来的字符,”a”、”.NET”、”123”、”北京”、”1*9=”。(3)逻辑常量:只有两个值,True、False。(4)日期常量:用一对#括起表示某一具体日期和时间,#12/31/2020 11:59:00 PM#。2.2 常量与变量282.2.1
13、 常量2.符号常量表示形式如下:Const 符号常量名 As 数据类型 = 表达式例如:Const PI=3.14定义符号常量PI,单精度浮点型Const MIN As Integer = 100定义符号常量MAX,整型2.2 常量与变量292.2.1 常量3.系统常量常量说明vbCrLfchr(13) & chr(10),回车并换行组合符vbCrchr(13),回车符vbLfchr(10),换行符vbNewLinechr(13) & chr(10),新建一行vbNullCharNull,空字符vbNullString,不是一个零长度的字符串vbObjectError错误编号2.2 常量与变量
14、302.2.2 变量VB.Net中的变量声明的语句形式如下:Dim 变量名 As 类型=初始值例如Dim s As Integer = 0声明整型变量s,初始值为0Dim i As Long, j As String 声明一个长整型变量i和一个字符串变量jDim a, b, c As Single声明三个单精度变量a,b,cDim m%, n! 使用数据类型符声明变量Dim avg avg为Object对象类型变量Dim a1,a2 As Integer = 123错误说明:如果多个变量类型相同,可以用一个As来指定类型,但此时不能给变量同时赋一个初值。2.3 运算符与表达式312.3.1 运
15、算符常用运算符有包括算术运算符、字符串运算符、关系运算符和逻辑运算符等。1.算术运算符32运算符含义优先级实例(a=7,i=2)结果乘方1ai49-负号2-a-7*乘3a * i14/除3a / i3.5整除4a i3Mod取余5a mod i1+加6a + i9-减6a - i52.字符串运算符33运算符实例说明结果+123 + 456将两个字符串连接起来123456123 + 456将123转换为数值123,再进行加法运算579123 + 456加法运算579abc + 123非数字字符与数值不能运算,转换无效错误&123 & 456将操作数转换为字符型,再连接123456123 & 45
16、6123456123 & 456123456abc & 123abc1233.关系运算符34运算符含义实例结果大于12345True=大于等于123=45False小于ACABC”False=小于等于abc=”bcTrue=等于A=a”False不等于Aa”TrueLike字符串匹配VB.NET Like NETTrue4.逻辑运算符35运算符含义优先级说明实例结果Not逻辑非1求反,当操作数为False时,结果为True;当操作数为True时,结果为FalseNot TrueFalseNot FalseTrueAnd逻辑与2两个操作数同为True,结果为True;只要有一个为False时,结
17、果为FalseTrue And TrueTrueTrue And FalseFalseOr逻辑或3两个操作数有一个为True时,结果为True;均为False时,结果为FalseTrue Or FalseTrueFalse Or FalseFalseXor逻辑异或4两个操作数互斥,一个为True,另一个为False时,结果为True,否则为FalseTrue Xor FalseTrueTrue Xor TrueFalse5.运算符优先级36算术运算符字符串运算符关系运算符逻辑运算符2.3.2 表达式371.表达式的组成一系列的运算符将常量、变量、函数分隔开组成表达式2.表达式的书写规则(1)运
18、算符不能相邻。x+ -y是错误的。(2)乘号不能省略。x 乘以y 应写成:x*y。(3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准上书写,无高低、大小之分。2.4 常用内部函数38函数的一般格式为:函数名 (参数列表) 2.4.1 数学函数39函数含义实例结果Abs(x)求x的绝对值Abs(-1.9)1.9Cos(x)求x的余弦值Cos(1)1Exp(x)求e的x次方Exp(1)2.71828182845905Log(x)求以e为底的自然对数Log(1)0Max(x,y)求x和y的最大值Max(1,9)9Min(x,y)求x和y的最小值Min(1,9)1Round(x)对
19、x四舍五入求整Round(1.9)2Round(-1.9)-2Sin(x)求x的正弦值Sin(0)0Sqrt(x)求x的算术平方根Sqrt(9)3Tan(x)求x的正切值Tan(0)02.4.2 字符函数40函数含义实例结果Len(s)求字符串s长度Len(中国China)7Left(s,n)取字符串s左边n个字符Left(中国China,2)中国Right(s,n)取字符串s右边n个字符Right(中国China,5)ChinaMid(s,n1,n2)取字符串s中从第n1个字符开始的n2个字符Mid(中国China,5,1)iReplace(s,s1,s2)在字符串s中用s2替换s1Repl
20、ace(ABCAB,A,E)EBCEBInstr(s1,s2)在字符串s1中找字符串s2的位置Instr(中国China,Ch)3StrDup(n,c)产生n个c字符StrDup(4,)IsNumeric(s)判断字符串s是否为数字字串,如果是则返回True,否则返回FalseIsNumeric(123a)FalseLcase(s)字符串s转换为小写Lcase(CHINA)chinaUcase(s)字符串s转换为大写Ucase(China)CHINASpace(n)产生n个空格Space(3)Trim(s)去掉字符串s前后的空格Trim(中国)中国41【例2-2】根据数字得到对应的是星期几。要
21、求输入一个1-7的数字,输出对应的星期,例如输入6,输出“星期六”。程序运行界面如图2-2所示。分析:根据题目要求,在窗体上添加2个标签,2个文本框和1个命令按钮,并设置相应属性。 2.4.3 日期/时间函数42函数含义实例结果Now返回系统日期和时间Now2019/12/13 16:15:45Today返回系统日期Today2019/12/13TimeOfDay返回系统时间TimeOfDay16:15:45Year(d)返回d的年份19999Year(Now)2019Month(d)返回d的月份112Month(Now)12Day(d)返回d的日期131Day(Now)13Hour(d)返回
22、d的小时023Hour(Now)16Minute(d)返回d的分钟059Minute(Now)15Second(d)返回d的秒059Second(Now)45Weekday(d)返回日期对应的星期数17Weekday(Now)6MonthName(n)返回整数n对应的月份名称MonthName(12)十二月WeekdayName(n)返回整数n对应的星期名称WeekdayName(5)星期四2.4.4 转换函数43函数含义实例结果ASC(s)字符转换为ASCII码值Asc(a)97Chr(n)ASCII码值转换为字符Chr(97)aVal(s)数字字符转换为数值Val(123)123Str(n
23、)数值转换为字符串Str(123)123Fix(n)返回整数部分Fix(9.7)9Fix(-9.7)-9Int(n)返回不大于n的最大整数Int(9.7)9Int(-9.7)-10CInt(n)数值四舍五入后取整CInt(9.7)10CInt(-9.7)-10Hex(n)十进制转换为十六进制Hex(28)1COct(n)十进制转换为八进制Oct(8)10LCase(s)大写字母转换为小写字母LCase(CHINA)chinaUCase(s)小写字母转换为大写字母UCase(china)CHINA2.4.5 其他函数441.随机函数随机函数Rnd用于产生一个0,1)范围内的随机浮点数,语法格式如
24、下:Rnd(N)产生一个a , b)之间的随机整数,通用方法如下:Int(Rnd() * (b-a) + a)例如产生一个0100的整数,表达式为Int(Rnd() * 100 )45【例2-3】简易两位数加法器。要求能够随机生成一道加法运算式,并实现两位整数加法计算,程序运行界面如图2-3所示。分析:根据题目要求,利用Rnd和Int函数随机产生2个两位整数,利用Val函数将数字字符转换为数值并求和。在窗体上添加2个标签,3个文本框和2个命令按钮,并设置相应属性。462.Format函数字符含义实例结果0实际数字位数小于符号位数,不足部分补0,否则四舍五入Format(3.14159,00.0
25、00000)Format(3.14159,0.000)03.1415903.142#实际数字位数小于符号位数,按实际显示,否则四舍五入Format(3.14159,#.#)Format(3.14159,#.#)3.141593.14.小数点Format(314159,0.00000)3.14159,千分位Format(314159,000,000)314,159%数值乘以100,加%Format(3.14159,#.#%)314.159%$数值前加$Format(3.14159, $0.00)$3.14E+指数表示Format(314159,0.00E+00)3.14E+052.5 面向对象的
26、程序设计基础472.5.1 对象和类1. 对象对象在现实生活中就是一个实体2.类类是对同一种对象的集合与抽象。2.5.2 对象的属性、事件和方法481.对象属性每个对象都有其不同于其他对象的特征,称之为对象的属性(Property)。2.对象事件事件(Event)是指在对象上所发生的事情。VB.NET为对象预先设置好了一系列能够被对象识别的动作。事件过程的一般格式如下:Private Sub 对象名_事件(对象引用,事件信息) Handles 对象名.事件 事件过程代码End Sub493.对象方法面向对象的程序设计提供了一种特殊的过程和函数,称为方法(Method)。对象方法的调用格式为:对
27、象名.方法名(参数) 2.6 VB.NET基本控件50窗体和控件都是对象,窗体是可视化程序设计的基础界面,窗体是所有其他控件的容器,控件是窗体上使用的可视化组件。2.6.1 窗体(Form)511.主要属性属性说明Name窗体的名称。创建时自动提供默认名称Form1、Form2依次类推Text窗体使用的默认标题为Form1MaximizeBox是否显示窗体右上角的最大化按钮。默认值为True,若设置为False,隐藏窗体最大化按钮MinimizeBox是否显示窗体右上角的最小化按钮。默认值为True,若设置为False,隐藏窗体最小化按钮ControlBox是否在窗体左上角显示控制菜单。默认值
28、为TrueBackgroundImage指定一个图形文件,以平铺方式设置为窗体的背景BackgroundImageLayout设置背景图像的显示方式,平铺、居中或伸缩BackColor设置窗体的背景颜色FormBorderStyle设置窗体边框类型,决定窗体的标题栏状态和可缩放性:None,窗体无边框、最大化、最小化等按钮,无法移动及改变窗体大小FixedSingle,窗体为单线边框,不可改变窗体边框大小,有最大化、最小化按钮Fixed3D,显示3D边框效果Sizable,默认属性,可改变窗体边框大小,有最大化、最小化按钮WindowState窗体的窗口状态,0常规(默认属性)、1最大化、2最
29、小化形式显示Size窗体的大小,Width宽度、Height高度Icon设置窗体标题栏上显示的图标AcceptButton设置一个值,该值是一个按钮的名称,当按下Enter键相当于单击该按钮。通常窗体上的确定按钮被设置为窗体的AcceptButtonCancelButton设置一个值,该值是一个按钮的名称,当按下Esc键相当于单击该按钮。通常,窗体上的“取消”按钮被设置为 CancelButtonStarPosition指定运行时窗体的起始位置2.事件52事件说明Click单击窗体时触发该事件DoubleClick双击窗体时触发该事件Shown窗体第一次显示时触发该事件Closed关闭窗体时触
30、发该事件Activate窗体的激活事件,当窗体变为活动窗体时触发该事件Deactivate与 Activate事件相反,当窗体失去焦点变为非活动窗体时触发该事件Load装载窗体时触发该事件,通常Load事件是第一个被执行的过程,常用来对程序中的对象或变量进行初始化处理Resize当窗体第一次显示或改变窗体大小时触发该事件Disposed窗体被关闭从屏幕消失时触发该事件3.方法53方法说明Show显示窗体Hide隐藏窗体ShowDialog将窗体显示为模式对话框Refresh刷新并重画窗体Activate激活窗体,并使窗体获得焦点Close关闭窗体54【例2-4】设计两个窗体,一个窗体装入时添加
31、背景图像,一个窗体单击时改变背景颜色为红色Public Class Form1 Private Sub Form1_Load() Handles MyBase.Load Me.BackgroundImage = Image.FromFile(road.jpg) Me.BackgroundImageLayout = ImageLayout.Stretch End SubPrivate Sub Form1_DoubleClick( ) Handles Me.DoubleClick Me.Hide()主窗体Form1隐藏 Form2.Show()Form2窗体显示 End SubEnd ClassP
32、ublic Class Form2 Private Sub Form2_Click( . ) Handles Me.Click Me.BackColor = Color.Red End SubEnd Class2.6.2 标签(Label)551.主要属性属性说明Name标签的名称Text标签上显示的文本TextAlign标签中文本的对齐方式,默认值为TopLeft文本在标签中安左上方对齐,其他对齐方式:TopCenter、TopRight、MiddleLeft、MiddleCenter、MiddleRright、BottomLeft、BottomCenter、BottomRightFont标
33、签文本的字体、字号AutoSize控件是否自动调整大小,默认值为True,根据标签内容的多少自动变化BackColor标签背景色,默认与窗体背景色一致BorderStyle标签边框样式,默认值为None无边框,FixedSingle单直线边框,Fixed3D三维凹陷边框562.事件标签一般响应单击Click事件。【例2-5】计算时长。随着中国的不断发展,中国被世界赋予了基建狂魔的称号,除了各种世界之最的桥梁以外,我国的高铁行业在世界的地位也是名列前茅的,更高速度试验列车CIT500,最高的实验速度已经达到了605公里每小时。已知北京至深圳高铁里程约2300公里,如果按照实验速度计算从北京到深圳
34、坐高铁需要多长时间?Public Class Form1 Private Sub Form1_Click() Handles Me.Click Label1.Text = Label1.Text & CInt(2300 / 605) & 小时 End SubEnd Class2.6.3 文本框(TextBox)571.重要属性属性说明Name文本框的名称Text显示或输入的文本内容Textlength文本框中文本的长度,即字符个数Maxlength设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。MultiLine文本框是否可以输入或显示多行文本,默认值为False,若为T
35、rue时可多行ScrollBars文本框是否出现滚动条,None无滚动条、Horizontal水平滚动条、Vertical垂直滚动条、Both同时加水平和垂直滚动条。当MultiLine为True时,ScrollBars才有效PasswordChar设置显示文本的替代符,一般用于输入密码口令时设置为“*”Locked指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用ReadOnly是否可以输入、编辑、修改文本,默认值为False,若为True时文本框只读58事件事件说明TextChanged当文本框内容发生改变时引发该事件,即文本框每输入一
36、个字符就引发一次事件KeyPress按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件 LostFocus对象失去焦点时发生的事件GotFocus与LostFocus事件相反,当一个对象获得焦点时发生方法59方法说明Focus()为文本框设置焦点Copy()将文本框当前选定的内容复制到剪贴板Cut()将文本框当前选定的内容移动到剪贴板Paste()用剪贴板的内容替换文本框当前选定的内容Select(start,length)在文本框设定起始位置,选择指定长度文本Clear()清除文本60【例2-6】简单的人机对话。Public Class Form1 Private Sub
37、TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then表示按回车键输入结束 TextBox2.Text = TextBox1.Text + 同学:好好学习,天天向上。前途定无量! End If End SubEnd Class2.6.4 按钮(Button)611.重要属性属性说明Name按钮的名称Text按钮上显示的文本Image按钮上显示的图像TextAl
38、ign按钮上文本的对齐方式DialogResult单击按钮时返回值,默认值None,其他返回值OK、Cancel、Abort、Retry、Ignore、Yes、NoFlatStyle设置按钮外观样式Size设置按钮的宽度和高度62事件按钮最常用的是Click事件,即鼠标单击按钮时发生。【例2-7】目标心率计算。目标心率 = ( 220 - a -r ) * 运动强度% + r,a是年龄,r是静止心率。Public Class Form1 Private Sub Button1_Click( . ) Handles Button1.Click Dim a, r, tr As Integer a
39、= Val(TextBox1.Text)年龄 r = Val(TextBox2.Text)心率 tr = (220 - a - r) * 0.7 + r计算目标心率 TextBox3.Text = tr End SubEnd Class2.6.5 图片框(PictureBox)63属性说明Name图片框的名称Image图片框显示的图像Width图片框的宽度Height图片框的高度BorderStyle图片边框样式,默认值为None无边框,FixedSingle单直线边框,Fixed3D三维凹陷边框SizeMode图片框中图像显示模式:Normal默认值,当图片大小超过图片框时,图片被裁剪Str
40、etchImage,图片随图片框大小而缩放AutoSize,图片框随图片大小而缩放CenterImage,图片在图片框居中显示Zoom,与StretchImage相似,图片随图片框大小而缩放,并保持原图片的纵横比例64【例2-8】图片处理。利用图片框实现对加载的图片放大、缩小、还原和替换等功能。2.6.6 定时器(Timer)651.重要属性属性说明Name定时器的名称Interval两个Tick事件之间的时间间隔,以毫秒为单位Enabled定时器是否可用,默认值为False,此时不产生Tick事件66事件定时器的主要事件只有Tick事件,每隔Interval时间间隔就触发一次该事件。【例2-
41、9】热气球升空。Public Class Form1 Private Sub Timer1_Tick(.) Handles Timer1.Tick PictureBox1.Top = PictureBox1.Top 20图片上移 PictureBox1.Left = PictureBox1.Left + 30图片右移 PictureBox1.Width = PictureBox1.Width * 0.9图片缩小 PictureBox1.Height = PictureBox1.Height * 0.9 End SubEnd Class第3章 顺序结构程序设计68案例引入69【例3-1】人均债务
42、。当前,全球债务形势变得愈发严峻,债务水平不断创新高,请设计一个人均债务水平计算器,根据全球和本国的债务总额、人口总数,计算人均债务和对全球债务的贡献率。Private Sub Button1_Click(.) Handles Button1.Click Dim d1, d2, p1, p2, pe1, pe2, r As Single d1 = Val(TextBox1.Text) d2 = Val(TextBox2.Text) p1 = Val(TextBox3.Text) p2 = Val(TextBox4.Text) pe1 = d1 / p1全球人均债务 pe2 = d2 / p2本
43、国人均债务 r = p2 / p1本国债务对全球债务的贡献 TextBox5.Text = Format(pe1, 0.00)保留2位小数 TextBox6.Text = Format(pe2, 0.00) Label14.Text = 全球人均债务: & TextBox5.Text & 万美元,我国的人均债务: & TextBox6.Text & 万美元。占全球债务的: & Format(r, #.#%) End Sub3.1 语句703.1.1赋值语句1.简单赋值语句简单赋值语句一般格式为:变量名 = 表达式计算表达式的值,再将此值赋给变量或对象名.属性名 = 表达式 计算表达式的值,再将
44、此值赋给对象的属性 例如n = n + 1 计数累加 Label1.Text = HELLO 把字符串赋值给标签注意: 赋值号左边只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句:3.14 = x 左边是常量错误a + b = c 左边是表达式错误712.复合赋值语句运算符含义实例+=累加a += 10 等价于 a = a + 10-=连减a -= 10 等价于 a = a - 10*=连乘a *= b + 10 等价于 a = a * ( b + 10 )=整除a = 10 等价于 a = a 10/=连除a /= 10 等价于 a = a / 10=幂运算a = 10 等价
45、于 a = a 103.1.2 注释、暂停与结束语句721.注释语句注释是辅助性文字,一般用单撇“”引导注释内容,注释部分(在程序代码中显示为绿色)不会被解释和编译,在程序运行时不被执行。2.暂停语句Stop语句用来暂停程序的执行,把解释程序置为中断模式,以便对程序进行检查和调试。3.结束语句End语句用于结束一个程序的执行。当在程序中执行End语句时,将终止当前程序,清除所有变量,并关闭所有数据文件。3.2 数据的输入和输出73一般通过文本框TextBox和标签Label等控件来实现人机交互,也可以利用Inputbox输入信息对话框和MsgBox消息提示对话框来实现。3.2.1 InputB
46、ox输入框74一般格式为:InputBox( Prompt ,Title ,DefaultResponse ,XPos ,YPos )75【例3-2】许愿池。输入姓名和梦想,在许愿池中展示。分析:根据题目要求,利用InputBox输入对话框完成姓名和梦想的输入.3.2.2 MsgBox消息框76一般格式为:MsgBox(Prompt ,Buttons ,Title)77【例3-3】考试提醒。给定一个考试时间,计算从现在到考试还有多少天,如果日期临近自动警示。Public Class Form1 Private Sub Button1_Click(.) Handles Button1.Click
47、 Dim mye As Date, ds As Intege声明日期型变量mye,变量ds存放相隔天数 mye = #3/16/2020#假设考试日期为2020年3月16日 ds = DateDiff(d, Today, mye)当前日期为2020年3月9日 Label1.Text = 距离考试还有 & ds & 天显示剩余天数 If ds = 10 Then日期临近消息框提示 MsgBox(还有 & ds & 天要考试啦,加油哦!, 0 + 48, 提示) End If End SubEnd Class3.3 程序调试78通过程序的调试可以纠正程序中的错误。3.3.1常见程序错误类型 791
48、.语法错误语法错误是最常见的错误类型,由编译器或解释器发现。3.3.1常见程序错误类型 802.运行时错误运行错误是指程序没有语法错误,在编译通过后,运行代码时发生的错误。3.3.1常见程序错误类型 813.逻辑错误在程序运行后没有得到所希望的结果或实现要求的功能。代码的意思和设计要求的意思不一样,这种情况通常是由于程序出现了逻辑错误。如:运算符使用不正确,语句的次序不对、循环语句的起始终止值不正确。3.3.2程序调试821.设置和删除断点设置断点的方法主要有以下几种(1)代码窗口中,单击要设置断点的那一行代码,然后按F9键。(2)代码窗口中,在要设置断点的那一行代码,单击鼠标右键选择“插入断
49、点”命令。(3)代码窗口中,在要设置断点的那一行代码的左边界灰色区域单击。3.3.2程序调试832.跟踪程序的执行通过执行【调试】菜单中的相应菜单命令或单击【调试】工具栏上的相应按钮来实现。3.3.3 结构化异常处理84VB.NET结构的异常处理分为三个语句块:Try、Catch和Finally,一般形式如下Try .Catch 选择块 .Finally .End Try第4章 选择结构程序设计86案例引入87【例4-1】闰年计算器。输入一个年份,判断是否是闰年分析:根据题目要求,闰年分为普通闰年和世纪闰年。普通闰年,年份是4的倍数,且不是100的倍数(如2020年就是闰年);世纪闰年,年份是
50、整百数,且是400的倍数才是世纪闰年(如2000年是闰年,1900年不是闰年)。故闰年条件为,能被4整除且不能被100整除,或能被400整除。4.1 If条件语句88If条件语句有多种形式:单分支、双分支和多分支。4.1.1 单分支选择结构89语句形式如下:If 条件表达式 Then语句块End If或If 条件表达式 Then 语句块该语句的作用是当条件表达式的值为True时,执行Then后面的语句块,否则不执行Then后语句。90【例4-2】已知两个数x和y,比较它们的大小。若x小于y,互换,使得x大于y。If xy Thent=xx=yy=tEnd If 或单行形式:If xy Then
51、 t=x: x=y: y=t4.1.2 双分支选择91语句形式如下:If 条件表达式 Then语句块AElse语句块BEnd If或 If 条件表达式 Then 语句块A Else 语句块B该语句的作用是当条件表达式的值为True时,执行Then后面的语句块A,否则执行Else后面的语句块B。92【例4-4】简单空气质量查询。把空气质量简单分为有无污染两类Public Class Form1 Private Sub Form1_Load(.) Handles MyBase.Load Label3.Text = End Sub Private Sub Button1_Click(.) Handl
52、es Button1.Click Dim aqi% aqi = TextBox1.Text If aqi = 90 Then gap = 4 ElseIf score = 80 Then gap = 3 ElseIf score = 70 Then gap = 2 ElseIf score = 60 Then gap = 1 Else gap = 0 End If Label4.Text = gap End SubEnd Class4.2 Select Case语句95语句形式如下:Select Case 表达式Case 表达式列表1语句块Case 表达式列表2 语句块Case Else 语句
53、块End Select96【例4-6】使用Select Case语句改写例4-5。Public Class Form1 Private Sub Button1_Click(.) Handles Button1.Click Dim score As Single, gap As Integer score = Val(TextBox2.Text) Select Case score Case Is = 90 gap = 4 Case Is = 80 gap = 3 Case Is = 70 gap = 2 Case Is = 60 gap = 1 Case Else gap = 0 End Se
54、lect Label4.Text = gap End SubEnd Class4.3 选择结构的嵌套97If语句的嵌套是指If或Else后面的语句块中又包含If语句If 表达式1 Then If 表达式2 Then End If End If98【例4-7】用户登录。Public Class Form1 Private Sub Button1_Click(.) Handles Button1.Click If TextBox1.Text Then用户名不为空 If TextBox2.Text 123456 Then密码不是123456TextBox2.Text = 清除错误密码 MsgBox(
55、密码错误, 16, 提示) Else MsgBox(欢迎登录, 64, 提示) End If Else若用户名为空 MsgBox(用户名不能为空, 48, 提示) End If End SubEnd Class4.4 条件函数994.4.1 IIf函数一般格式为:IIf(条件表达式,表达式为真时的值,表达式为假时的值)例如,求x,y两数中较小的值:min = IIf(x y, x, y) 1004.4.2 Choose函数 一般格式为:Choose(整数表达式,选项列表)例如,随机产生一个1-7的值,返回对应的星期: i = Int(Rnd() * 7 + 1)w= Choose(i, “星期
56、一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”, “星期七”)4.5 选择控件101在使用计算机回答客观题,即进行单选和多选的时候,经常会用到选择控件4.5.1 单选按钮(RadioButton)1021.重要属性属性说明Text单选按钮上显示的文本Checked单选按钮是否被选中,选中属性值为True,否则为FalseAppearance设置单选按钮的外观显示方式,默认值Normal一般外观,Button按钮外观103事件事件说明Click鼠标单击按钮时发生CheckedChanged当Checked属性值发生变化时,触发该事件104【例4-8】石头剪刀布。人机小
57、游戏分析:根据题目要求,随机函数Rnd产生1、2、3三个整数对应石头、剪刀、布,三个单分支语句根据规则判断输赢。4.5.2 复选框(CheckBox)1051.重要属性属性说明Text复选框上显示的文本Checked复选框是否被选中,True选中,False没被选中CheckState复选框的三种状态,默认值UnChecked未选中,Checked选中,Indeterminate不确定ThreeState复选框是否允许出现三种状态,默认值False,只能出现选中和未选中两种状态106事件复选框常用事件有Click和CheckedChanged4.5.3 GroupBox和Panel1071.
58、GroupBox属性说明Text控件上显示的文本,用于描述该控件组Font设置字体和字号,同时改变GroupBox控件的Text属性的文字外观和内部控件的文字外观ForeColor设置字体颜色,同时改变GroupBox控件的Text属性的文字外观和内部控件的文字外观1082. Panel属性说明BorderStyle设置边框样式,默认值None无边框, Fixed3D三维边框, FixedSingle单行边框AutoScroll当控件超出Panel显示的区域时,是否自动出现滚动条,默认为FalseFont设置字体和字号,改变内部控件的文字字体和大小ForeColor设置字体颜色,改变内部控件的
59、文字颜色109【例4-9】考试科目选择。高中学业水平考试实行选科,学生根据自己的实际情况在物理、化学、生物、政治、地理、历史六个学科中选择三个科目,也就是“六选三”,请作出你的选择,程序代码如下,程序运行界面如图4-13所示。分析:根据题目要求,选考科目是3个,若选项少于或多于3个都需要重新勾选,设计一个变量用于统计选择的课程门数。第5章 循环结构程序设计111案例引入112【例5-1】开卷有益。“一日不读书,胸臆无佳想。一月不读书,耳目失精爽” 。读书和不读书到底有多大差距呢?分析:根据题目要求,如果读书学习能力值比前一天提升(1+0.01),不读书学习能力值比前一天下降(1-0.01),一
60、年每天都坚持读书学习能力值是(1+0.01)365。5.1 For循环语句113语句形式如下:For 循环变量 = 初值 To 终值 Step 步长循环体Exit ForNext 循环变量该语句的作用是按规定的次数执行循环体语句。114【例5-2】累加和。求S=1+2+3+.+N的和值,程序段如下: Dim n, s, i As Integer n = Val(InputBox(请输入一个整数:) s = 0 For i = 1 To n s = s + i Next5.2 Do循环语句115形式1语句格式如下Do While|Until 条件表达式 循环体 Exit DoLoop形式2语句格
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年奥尔夫节奏型说课稿
- 2026年浙江省部编版小学数学四年级上册第7单元同步练习题
- 2025-2026学年大班表情绘画说课稿
- 2025-2026学年出塞古诗说课稿
- 2025-2026学年《浮力》的说课稿
- 2025-2026学年《百合花》的说课稿
- 2025年云南省香格里拉市高二生物下册期末考试模拟考试卷附完整答案【考点梳理】
- 2025-2026学年定风波苏教版说课稿
- 2025-2026学年初三英语第8单元说课稿
- 2025-2026学年保护牙齿棋说课稿
- 2026中国进出口银行招聘考试(专业知识)历年参考题库含答案详解
- (2026秋新版)部编版道德与法治四年级上册全册教案
- 2026年4月自考00037美学试题及答案含评分参考
- (新教材)2026年部编人教版一年级上册语文 6 j q x 课件
- 挖掘机租赁合同标准范本下载
- 减震垫片施工方案
- 责任心和执行力培训课件
- 2025年山西省教师职称考试(思想政治/道德与法治)历年参考题库含答案详解(5卷)
- 桉树买卖合同(2025版)
- 第9谭《艺术与科技的新结合》课件-2024-2025学年赣美版(2024)初中美术九年级上册
- DZ/T 0054-2014定向钻探技术规程
评论
0/150
提交评论