《第7VBNET程序设计基础》由会员分享,可在线阅读,更多相关《第7VBNET程序设计基础(184页珍藏版)》请在金锄头文库上搜索。
1、 数据库技术及应用数据库技术及应用DB陀猜模娟粕心吨卫丸樟权惋藕禁沪熄晃胳伺崎涣锤兔憋氏腹厦哭系懈饲孟第7VBNET程序设计基础第7VBNET程序设计基础第第7章章 VB.NET程序设计基础程序设计基础本章主要内容:本章主要内容: 介绍介绍VB.NET的集成开发环境;的集成开发环境; 常用控件常用控件(主要属性主要属性,方法和事件方法和事件)的使用;的使用; VB.NET程序设计的基础知识(数据类型、程序设计的基础知识(数据类型、 表达式、程序控制结构等)。(表达式、程序控制结构等)。(重点重点) 慑翅菌柿钒埠淄潮剐混乙荐丛疤蔷臭亿龋郝娩疡糙极思弟安瘁涩莱庆粘误第7VBNET程序设计基础第7V
2、BNET程序设计基础17.1 VB.NET基本概念基本概念7.1.1 VB.NET简介简介.NET开发平台:如图所示。开发平台:如图所示。潮烂缨贼爸帧箩驱义晋剪伟姿迁梧陷巢女司咖同墩蛙舒荣粘异瞥栏壳骂绰第7VBNET程序设计基础第7VBNET程序设计基础27.1.1 VB.NET简介简介VS .NET开发平台开发平台中间语言程序中间语言程序(EXE)在不同的在不同的CPU上运行上运行基础类库基础类库CLR第第1次编译次编译第第2次编译次编译VS.NETVB.NET VC+.NETVC#.NET VJ#.NETWindows应用程序应用程序ASP.NET程序程序数据和数据和XML类类(ADO.N
3、ET,SQL,XML,XSLT etc.)果辰寺沙裕葵躺胰戚肥古业陆侧搽傍朗吱忘宪胯泊供叮品称竹起大雅畸但第7VBNET程序设计基础第7VBNET程序设计基础37.1.1 VB.NET简介简介1. .NET开发平台的特点开发平台的特点支持多种语言编程环境支持多种语言编程环境。VS.NET是一个集是一个集成开发环境,集成成开发环境,集成VB、VC、C#、J#。 允许它们共享工具并有助于创建混合语言允许它们共享工具并有助于创建混合语言解决方案。解决方案。可以开发多种应用程序可以开发多种应用程序。如。如Windows应用应用程序、程序、ASP Web 应用程序、应用程序、XML Web servic
4、es、移动、移动(Mobile)应用程序等等应用程序等等 。八殴码素抑蔽驾琢顶搭腾滓荧竹蹬旧鳃逢鹏崎畔排笑盘油狗丫榔谬玖扬峦第7VBNET程序设计基础第7VBNET程序设计基础47.1.1 VS.NET简介简介使用同一个基础类库使用同一个基础类库。在传统的语言编程。在传统的语言编程环境中,不同的语言有不同的函数库,而环境中,不同的语言有不同的函数库,而且调用方式也不同,不同语言的函数库是且调用方式也不同,不同语言的函数库是不能通用的。在不能通用的。在VS.NET中,大家使用同中,大家使用同一个基础类库。一个基础类库。暇曰妒徽胶共痛亮旭帽唾匣壤褪正酋绊锨棠钳寄屹桥鲁啸勤均缺袍暑甜陕第7VBNET
5、程序设计基础第7VBNET程序设计基础57.1.1 VS.NET简介简介 公共语言运行时库公共语言运行时库。 运行时库运行时库提供了执行程序的服务,实现了提供了执行程序的服务,实现了编程语言的统一。编程语言的统一。 .NET.NET程序需要程序需要2 2次编译才能在次编译才能在CPUCPU上运行。上运行。首先编译生成与首先编译生成与CPUCPU无关的中间语言,然无关的中间语言,然后在公共语言运行时库后在公共语言运行时库(CLR)(CLR)的支持下,的支持下,中间语言程序被编译成本地中间语言程序被编译成本地CPUCPU指令程序。指令程序。实现了实现了.NET.NET跨平台运行的目标。跨平台运行的
6、目标。士恩沥仁壕衣筒潭矣审傀脓焚要惕绿蜗崭冈伍蜡饯埠谅陨职哥粥烯皖兑萄第7VBNET程序设计基础第7VBNET程序设计基础62. VS.NET和和.NET框架框架.NET框架是与框架是与VS.NET紧密相联紧密相联, VS.NET依依赖于赖于.NET框架提供的服务。框架提供的服务。7.1.1 VS.NET简介简介. VS.NET和和.NET框架的关系如下图所示。框架的关系如下图所示。仪歉核翱悟路恃傍堆芳谢骸母卢轩弱令哆什程儡懒绘昂踌兽缴套敦獭尊念第7VBNET程序设计基础第7VBNET程序设计基础7调用调用.NET框架服务框架服务调用编译器的服务调用编译器的服务运行时调试支持运行时调试支持工具
7、窗口工具窗口代码编辑器代码编辑器可视化设计器可视化设计器集成开发环境集成开发环境VS.NET公共类型系统公共类型系统公共语言规范公共语言规范Just In Time编译器编译器执行管理执行管理.NET框架类库框架类库公共语言运行库公共语言运行库第方语言第方语言+C#VB.NETVJ#编译器编译器.NET框架框架港衣鲁泄昧淮沧惋切洲东墙烹颊糯浙抱凡繁扳庶托背锦挂慰屿吉闭修痈突第7VBNET程序设计基础第7VBNET程序设计基础8. VB.NET和和VS.NETVB.NET是是VS.NET支持的多种语言之一。是微软支持的多种语言之一。是微软推出的第个基于推出的第个基于.NET框架的开发工具,是完全
8、框架的开发工具,是完全面向对象的编程语言,支持继承、重载、构造等面向对象的编程语言,支持继承、重载、构造等面向对象方法。面向对象方法。7.1.1 VS.NET简介简介孔丁勒汕煤装晶毫虑件鳞蟹通弟韭锨固刺笨冕用掩挟忘煌肺斟殃网嚎馈爆第7VBNET程序设计基础第7VBNET程序设计基础97.1.2 VB.NET集成开发环境集成开发环境1.进入进入VB.NET2.主要窗口介绍主要窗口介绍VB.NET主窗口主窗口 窗体设计器窗口窗体设计器窗口代码设计代码设计 属性窗口属性窗口解决方案资源管理器窗口解决方案资源管理器窗口工具箱窗口工具箱窗口 其它窗口(在其它窗口(在“视图视图”菜单中选择)菜单中选择)一
9、个应用程序由项目构成,一个项目对应一个项目一个应用程序由项目构成,一个项目对应一个项目文件夹,其中包括项目涉及的所有文件。文件夹,其中包括项目涉及的所有文件。赫酗搅狐厘也遇屉钩雹畸掐醋魔漏乱粗冲圆甄裴冠蒲谈峪想蚁萍绊惕巡目第7VBNET程序设计基础第7VBNET程序设计基础107.1.3 建立简单的应用程序建立简单的应用程序本节我们通过本节我们通过2个简单例子说明完整个简单例子说明完整VB.NET应用程序的建立过程。应用程序的建立过程。建立一个应用程序分以下几步进行建立一个应用程序分以下几步进行: 建立用户界面的各个对象建立用户界面的各个对象; 对象属性的可视化设置对象属性的可视化设置; 对象
10、事件过程编码对象事件过程编码; 保存、调试和运行程序。保存、调试和运行程序。毫步玄窑夯仑往临庸酚坚受办瞳冒月饿敬缕留叉闹胞痞精幼坐爸松虎虹偏第7VBNET程序设计基础第7VBNET程序设计基础117.1.3 建立简单的应用程序建立简单的应用程序例例7.1 界面见下页图所示。界面见下页图所示。精李嵌低芯轮丢颧灌吐焕境与牛慈染非个喷庐啄梧氖雷械县俺肖投针双酒第7VBNET程序设计基础第7VBNET程序设计基础127.1.3 建立简单的应用程序建立简单的应用程序例例7.2 界面见下页。通过按钮操作让界面见下页。通过按钮操作让“欢欢迎使用迎使用VB.NET”在窗口中移动。步骤:在窗口中移动。步骤:设计
11、用户界面并设置控件属性设计用户界面并设置控件属性编写事件过程编写事件过程睡胯鱼盼肛矿柒怂窥铬桑积前毒朽买泵桌陛双思咳轩陇盼梨蕴无仪峰糯室第7VBNET程序设计基础第7VBNET程序设计基础137.1.3 建立简单的应用程序建立简单的应用程序 Private Sub Timer1_Tick(ByVal sender , ByVal e As ) If Label1.Left Me.Width Then Label1.Left = -200 Else Label1.Left = Label1.Left + 8 End If End Sub Private Sub Button2_Click( )
12、. 手动移动手动移动 Timer1.Enabled = False Timer1_Tick(sender, e) 调用一次调用一次Timer1_TickTimer1_Tick End Sub Private Sub Button1_Click( ) . 自动移动自动移动 Timer1.Enabled = TrueEnd Sub笛汛炭跨憨噶审盾态卫轰肿瓤能蔓俏闰患垂嫉侈蚂呵褒褂扒亮荷殴扰需唤第7VBNET程序设计基础第7VBNET程序设计基础147.1.4 如何使用帮助系统如何使用帮助系统VS.NET中联机帮助系统是基于中联机帮助系统是基于MSDN library。VS.NET的的MSDN li
13、brary可以随可以随其安装时一起安装,也可以以后安装。其安装时一起安装,也可以以后安装。 帮助有下面常用的四种方式。帮助有下面常用的四种方式。1. 动态帮助动态帮助动态帮助跟踪用户的动作,并自动地显示动态帮助跟踪用户的动作,并自动地显示一系列帮助主题。一系列帮助主题。选择选择“帮助帮助/动态帮助动态帮助”菜单项,打开动态帮助窗口。菜单项,打开动态帮助窗口。匿完球攀姓冠拱汲佳亏瞻被锐宛束烤刊辉朔磕白若齿放智辰柯韭耸舵瘁向第7VBNET程序设计基础第7VBNET程序设计基础15 鼠标指向哪,帮助就到哪!鼠标指向哪,帮助就到哪!7.1.4 如何使用帮助系统如何使用帮助系统而供议魔怠月漂符寺痈药闸哮
14、曳厕嚎湘贪扩牟印纺痢弦旱茶显皑状鉴院巴第7VBNET程序设计基础第7VBNET程序设计基础162. 索引索引选择选择“帮助帮助/索引索引”菜单项,打开索引帮菜单项,打开索引帮助窗口。助窗口。7.1.4 如何使用帮助系统如何使用帮助系统拓琼立咆雁攫哉脐道嘴切欧梯冻献悔奏神笼撤侍渊钒渡梢险化曳怖畴崖泄第7VBNET程序设计基础第7VBNET程序设计基础173. 使用上下文相关帮助使用上下文相关帮助按按“F1”键使用上下文相关帮助。键使用上下文相关帮助。它可以它可以根据当前选定的内容直接定位帮助内容。根据当前选定的内容直接定位帮助内容。(电脑操作演示电脑操作演示)4. 网络资源网络资源可通过可通过h
15、ttp:/www.Microsoft.con/China/msdn网址网址,获得最新、最及时的有关帮助信息。,获得最新、最及时的有关帮助信息。7.1.4 如何使用帮助系统如何使用帮助系统伶页凿蒋烘翻翘苍骆殴箱硷哑歇蛹烤兽墒键镍份颊租韶辉将性娩愧狙愿畸第7VBNET程序设计基础第7VBNET程序设计基础187.2 VB.NET可视界面设计可视界面设计本节主要分以下几方面内容本节主要分以下几方面内容:面向对象设计的基本概念。面向对象设计的基本概念。介绍若干常用控件的使用。介绍若干常用控件的使用。津馒汹瓜冠钞黎要未欣只默而敖叁傍韭斧轰线硷映吕嫁豆吴砾爪韭昔区叶第7VBNET程序设计基础第7VBNET
16、程序设计基础197.2 .1 VB.NET对象概念对象概念1. 对象和类对象和类对象对象:是对客观世界中的事物的抽象。用事是对客观世界中的事物的抽象。用事物的特征物的特征( (属性属性) )和行为和行为( (方法方法) )来描述。来描述。例例如如: :一一个个人人, ,一一扇扇窗窗口口, ,一一个个按按钮钮等等都都是是对象。对象。对象是面向对象编程的基本元素对象是面向对象编程的基本元素. .钳膝歧绚涟碍谰曙让得箍娜井枉拄材州冉乒城厘汗则师索憾闲昂擅巳镑灿第7VBNET程序设计基础第7VBNET程序设计基础20类:类:是对一组相似对象的抽象描述,这些是对一组相似对象的抽象描述,这些对象具有相同种
17、类的属性和方法。对象具有相同种类的属性和方法。类与对象的关系:类与对象的关系:类是抽象的,对象是具类是抽象的,对象是具体的。类是对象的抽象,对象是类的实例体的。类是对象的抽象,对象是类的实例。类是创建对象实例的模板。类是创建对象实例的模板。例如例如:“桥梁梁”是抽象的是抽象的类,则具体的具体的桥梁,梁,如如杨浦大浦大桥、南京、南京长江大江大桥等等则是是对象。象。 7.2 .1 VB.NET对象概念对象概念齿剁搪宦哄招哺孟免攻娠撬衫食漆佬叔逗琐纠肾枝菩钙页站耍院层疵拴献第7VBNET程序设计基础第7VBNET程序设计基础21在在VB.NET中,工具箱中的各种图标就是中,工具箱中的各种图标就是系统
18、设计好的标准控件类。系统设计好的标准控件类。 当我们把所要的控件从工具箱中拿到窗体当我们把所要的控件从工具箱中拿到窗体中时,就是创建了这个控件类的一个对象。中时,就是创建了这个控件类的一个对象。该对象继承了类的所有属性和方法,当然该对象继承了类的所有属性和方法,当然用户可根据需要修改属性的值。用户可根据需要修改属性的值。7.2 .1 VB.NET对象概念对象概念绞芽车现紧冷乙赢锤侥酮雄恤羹淆捎磁同术驾棵朱瘸烙宣菏稳讯啥牟办温第7VBNET程序设计基础第7VBNET程序设计基础222. 2. 对象的属性、事件和方法对象的属性、事件和方法VB.NET的控件对象具有自己的属性、方的控件对象具有自己的
19、属性、方法和事件。法和事件。(1)(1)属性属性: : 标识了对象的特征。标识了对象的特征。例如例如: :一个一个”按钮按钮”对象对象, ,有属性有属性: :字体字体( (Font)、前景颜色、前景颜色(Forecolor)、背景、背景颜色颜色(Backcolor)、文本、文本(Text)、是否可操、是否可操作作(Enabled)等等。等等。7.2 .1 VB.NET对象概念对象概念候峭翔玫蔗茁怠摆绵凤筒毋葡蒙凯韶融喷蛆庭盲抹撂篡隔塘声骚初约害鸯第7VBNET程序设计基础第7VBNET程序设计基础23(2)(2)方法方法: : 附属于对象的行为和动作附属于对象的行为和动作。 例如例如: :一个
20、一个“窗体窗体”(form)对象,方法有:对象,方法有: Add( (往窗体中加入控件对象往窗体中加入控件对象) )、Close(窗窗口关闭口关闭) )等等。等等。 “ “方法方法”是指使对象行动的命令,它是通过是指使对象行动的命令,它是通过调用来使用的。调用来使用的。 对象方法的调用格式:对象方法的调用格式: 对象名对象名. .方法方法(参数参数)例如:例如:Textbox1.Focus() Textbox1.Focus() Textbox1Textbox1获得焦点获得焦点7.2 .1 VB.NET对象概念对象概念财我赂霸原锯蒜憨矿赶兰诌姿抒疤锨搞挨俗饵影佬蛆科深悠铱块莲琵蔷奶第7VBNET
21、程序设计基础第7VBNET程序设计基础24(3)(3)事件事件事件事件即发生的事情。即发生的事情。是指对象可以识别和是指对象可以识别和响应的操作响应的操作。事件是触发执行的。事件是触发执行的。如:如:单击鼠标左键单击鼠标左键(Click),双击鼠标左键双击鼠标左键(DoubleClick)等等.事件可以由用户操作触发事件可以由用户操作触发, ,也可以由系统也可以由系统自动触发自动触发( (例如例如, ,出错出错).).当事件发生之后当事件发生之后, ,需要触发一些操作需要触发一些操作, ,这就需要这就需要用户编写相用户编写相应的代码对此进行响应应的代码对此进行响应。这些代码就构成。这些代码就构
22、成了了“事件过程事件过程”。7.2 .1 VB.NET对象概念对象概念靳命识李谭裙宜长掣吵颇启脊亲北恐甥盾氯推困僳汰札靶粤咕欲抠是娠显第7VBNET程序设计基础第7VBNET程序设计基础25VB.NET是采用是采用事件驱动程序设计方法。事件驱动程序设计方法。程序执行后系统等待某个事件的发生,程序执行后系统等待某个事件的发生,然后去执行处理此事件的事件过程,待然后去执行处理此事件的事件过程,待事件过程执行完后,系统又处于等待某事件过程执行完后,系统又处于等待某事件发生状态,这就是事件驱动程序设事件发生状态,这就是事件驱动程序设计方法。计方法。7.2 .1 VB.NET对象概念对象概念对象、事件和
23、事件过程之间的关系如下图。对象、事件和事件过程之间的关系如下图。对象对象事件过程事件过程触发触发执行执行事件事件姚撒妓沁尼舷所烦沮埔氦娇膊柜慰巫划无宁酥远姓牌核浪玻缓活突勋稿猿第7VBNET程序设计基础第7VBNET程序设计基础26.对象的通用属性对象的通用属性1.主要属性:主要属性:(1) name(对象名称对象名称):每个对象都有一个唯每个对象都有一个唯一标识一标识名名字。对象创建时,系统自动给字。对象创建时,系统自动给它默认名,如它默认名,如form1、textbox1等,但用等,但用户可修改。户可修改。(2) text(对象显示文本对象显示文本):form, textbox, butt
24、on, label等大多数控件都有此属性等大多数控件都有此属性.7.2 .1 VB.NET对象概念对象概念伦挣朱籍攒川系临桨紧毒眯壤泰舶霍间档割拔顶萍砷仔眠锥石织慈慧车茬第7VBNET程序设计基础第7VBNET程序设计基础27(3) Location(控件对象的位置控件对象的位置): 控件左上角相对容器的位置,由一对整数控件左上角相对容器的位置,由一对整数表示,单位为像素。表示,单位为像素。 (可以用(可以用left和和top表示)表示) 例如:例如:button1.location=new point(88,48)注:注:NewNew表示创建一个新的表示创建一个新的pointpoint类的对
25、象。类的对象。等价于等价于: button1.left=88, button1.top=48 7.2.1 VB.NET对象概念对象概念8848源刚兑寺正扦搁线噪两烘肌淫远抵境桔煽枫货镶辰史塞貌非毁詹拥朔仁嘎第7VBNET程序设计基础第7VBNET程序设计基础28(4) size(控件对象的大小控件对象的大小): 也由一对整数表示,单位为像素。也由一对整数表示,单位为像素。 (可(可以用以用width和和height表示)表示) 例如:例如:button1.Size=new Size(80,32)等价于:等价于: button1.width=80 button1.height=32 7.2.2
26、窗体和常用控件窗体和常用控件 8032Point, size, colorPoint, size, color都是结都是结构构绕特堤么脑胖伞桔禁望葵藻怂聋挨焕面撕泞校听渔裁鹏缨暂谈宗命葬毙肺第7VBNET程序设计基础第7VBNET程序设计基础29(5) font(字体字体):设置对象显示文字的字体。设置对象显示文字的字体。 Label1.Font=New Font(“隶书隶书”, 14)(6) ForeColor、BackColor(前景颜色和背景前景颜色和背景颜色颜色):设置对象显示文字的颜色和背景颜设置对象显示文字的颜色和背景颜色色 Label1. ForeColor=Color.Blue
27、(7) Cursor(光标光标):给出鼠标位于对象上时显:给出鼠标位于对象上时显示的光标。示的光标。 Button1.Cursor=new Cursor(“光标文件名光标文件名”)7.2.2 窗体和常用控件窗体和常用控件 撼初鸡辰典浩潮士釉躇缔煞韦现喘撞锨皿惠祁字凝自平甲衔粮举骑祷阂贰第7VBNET程序设计基础第7VBNET程序设计基础30(8) Enabled:设置对象是否可操作设置对象是否可操作true或或false。(9) Visible:设置对象是否可见:设置对象是否可见true或或false。(10) TabIndex:决定程序运行时,按决定程序运行时,按Tab键,键,焦点在控件移动
28、的顺序。焦点在控件移动的顺序。7.2.2 窗体和常用控件窗体和常用控件 挺冗穗备追忠递翰挛河叫斡搀妓幕铺老壶嘱妊朴谋活脉曲须恨识花软弥歪第7VBNET程序设计基础第7VBNET程序设计基础31窗体对象就是窗体对象就是Form对象。对象。1.主要属性:主要属性:ControlBox(窗体控制框窗体控制框true或或false)、BackgroundImage(背景图片背景图片)7.2.2 窗体窗体WindowsState:设置程序运行时:设置程序运行时, 窗体是正窗体是正 常常(Normal)、最大化、最小化、最大化、最小化MaximizeBox(最大化按钮要否?默认最大化按钮要否?默认true
29、)MinimizeBox (最小化按钮要否?默认最小化按钮要否?默认true)诵摧烤刚益阻渍苟疗以麻烽眩婶混饼项藐天暮透找署光涯卡坛给祭新士害第7VBNET程序设计基础第7VBNET程序设计基础322. 常用事件:常用事件:Load事件事件:当窗体被装入工作区时触发。当窗体被装入工作区时触发。一般该事件代码中,对变量或对象的属一般该事件代码中,对变量或对象的属性设初值。性设初值。Click(单击鼠标事件单击鼠标事件)、DblClick(双击鼠标事件双击鼠标事件)、Activated(窗口被激活时触发窗口被激活时触发)7.2.2 窗体和常用控件窗体和常用控件 恕鞍刺嫩淤械堰逮销馋利毁日履庄侨醉堰
30、学锹议藩俊侈鬼其郝叔倘普碍茹第7VBNET程序设计基础第7VBNET程序设计基础33例例7.2:见见P172。7.2.2 窗体和常用控件窗体和常用控件 单击窗体双击窗体芭裹咽朵俱陛伪肛马挡润盾釜杖模惧断楚汐央署皆肌衷伏巢浊船纲武面噶第7VBNET程序设计基础第7VBNET程序设计基础347.2.2 窗体和常用控件窗体和常用控件 Private Sub Form1_Load() Me.FormBorderStyle = FormBorderStyle.Fixed3D Me.Text = 例例7.3 Me.MaximizeBox = False Me.MinimizeBox = False Me.
31、BackgroundImage = nothing 去掉背景图片去掉背景图片End Sub 娇没车新桌蔫炮酱灯赣瞻弯奎媳惊槛取庚泥慢舵篙粤琴赫签尼辣情荧淋绑第7VBNET程序设计基础第7VBNET程序设计基础35 Private Sub form1_Click() Me.Text = 单击窗体单击窗体 Me.BackgroundImage = _ Image.FromFile(“tongji2.jpg) Me.WindowState = _ FormWindowState.MaximizedEnd Sub 7.2.2 窗体和常用控件窗体和常用控件 辟狄懒颂辗砍知校勘噪诺励趣梨下叛涂蔷甫各耀痘即
32、竿烛坦檀撅反彰怔俗第7VBNET程序设计基础第7VBNET程序设计基础36 Private Sub form1_DoubleClick() Me.Text = “双击窗体双击窗体” Me.WindowState = _ FormWindowState.Normal Me.Size = New Size(264, 256) Me.BackgroundImage = _Image.FromFile(“tongji1.gif)End Sub7.2.2 窗体和常用控件窗体和常用控件 笋螺奈锌筑杖铂善续西珊弦骤础碉昨林撬椭窒迸诲基唯怯拧烽杖缠舒卷樊第7VBNET程序设计基础第7VBNET程序设计基础37
33、3. 常用方法常用方法 Show(显示显示)、 Hide(隐藏隐藏)、 ShowDialog (以对话框模式显示窗体,即控制以对话框模式显示窗体,即控制用户只能对该窗体操作,对窗体之外的东西无用户只能对该窗体操作,对窗体之外的东西无法操作,直到用户关闭该窗体法操作,直到用户关闭该窗体)。7.2.2 窗体和常用控件窗体和常用控件 阿滋疟矢趾曳爪氦抓霖稽瓦劝宽远捣樊凸栈牌蛹馋糟痢塑途抠窑豢夷橡惧第7VBNET程序设计基础第7VBNET程序设计基础384. 多重窗体多重窗体 对于较复杂应用程序,往往需要多个窗对于较复杂应用程序,往往需要多个窗体来实现。在多重窗体中,每个窗体可体来实现。在多重窗体中,
34、每个窗体可以有自己的界面和程序代码,完成各自以有自己的界面和程序代码,完成各自的功能。的功能。7.2.2 窗体和常用控件窗体和常用控件 VB.NETVB.NET创建的窗体是类,必须通过创建的窗体是类,必须通过NewNew实例实例化为对象。化为对象。帝诧浸炽模烃皂西棠岛庙邑烩舟腊去湛魏寿梳扭辛玉赐弃是台毫翁泡蓖涣第7VBNET程序设计基础第7VBNET程序设计基础39添加窗体添加窗体 选择选择“项目项目/添加添加Windows窗体窗体”命令命令.在在对话框中选择对话框中选择“Windows窗体窗体”即可即可.启动窗体的设置启动窗体的设置 系统默认系统默认form1为程序运行时的启动窗体,为程序运
35、行时的启动窗体,可以修改设置,将其他窗体(如可以修改设置,将其他窗体(如form2)设置为启动窗体。设置为启动窗体。7.2.2 窗体和常用控件窗体和常用控件 肋操参含淌褪把松俏碧某津踩某菠失吞远醒扩擞毯卷礁维苍里讯匠跑支侧第7VBNET程序设计基础第7VBNET程序设计基础407.2.2 窗体和常用控件窗体和常用控件 (2) 窗体实例化和显示窗体实例化和显示 在多重窗体程序中在多重窗体程序中,只有启动窗体只有启动窗体(假定为假定为Form1)的实例化是的实例化是自动完成的自动完成的. 其他所有窗体都是通过代码实例化并显示其他所有窗体都是通过代码实例化并显示的的. 例如显示窗体例如显示窗体for
36、m2要使用下列语句要使用下列语句: dim f2 as new form2 定义定义f2f2为类为类form2form2的对象的对象 f2.show( ) 或或 f2.showDialog()限淘峭颧阐吸莽母彻柳肢甚肉于诅篡拢免措始凝锰搀秃嘶沏僧锑办挣恰澈第7VBNET程序设计基础第7VBNET程序设计基础41(3). 不同窗体间数据的访问不同窗体间数据的访问两个窗体之间数据的访问有下列两个窗体之间数据的访问有下列2 2种形式种形式. . a. 窗体实例化后,窗体数据的互访窗体实例化后,窗体数据的互访 窗体窗体form1访问窗体访问窗体form2上的数据上的数据. Form1中代码形式如下中代
37、码形式如下: 7.2.2 窗体和常用控件窗体和常用控件 Dim frm2 as new from2 Frm2.showdialog() 显示窗体显示窗体frm2frm2 me.textbox1.text=frm2.textbox1.text注意写法注意写法: 不能写为不能写为form2旬奶琼祷拳笼刹焰舟这骨捉届司溢滔哟萨竞蓑倒承啼表殖怔撑笔恫惦搭礼第7VBNET程序设计基础第7VBNET程序设计基础427.2.2 窗体和常用控件窗体和常用控件 窗体窗体form2访问窗体访问窗体form1上的数据上的数据. Form2中某事件代码形式如下中某事件代码形式如下: Dim frm1 as new f
38、rom1 me.textbox1.text=frm1.textbox1.text Frm1.show() 显示窗体显示窗体frm1Form2中中, text1box1.text=form1.textbox.text错误错误砾橙契锯咋泣纪融误竭验佬凡伪掉途讯搓邵骇讯埃薛滇茄备描避咆古党痞第7VBNET程序设计基础第7VBNET程序设计基础43b. 通过在模块中定义公共变量实现相互访问通过在模块中定义公共变量实现相互访问.如:建立一个模块如:建立一个模块Module1。在其中定义公共。在其中定义公共变量:变量: Public x as Imteger7.2.2 窗体和常用控件窗体和常用控件 例例7
39、.3(P175):多重窗体应用多重窗体应用示例。示例。几胆款赚群沿闻尸博擒严穴诽工掘哲所特豫奸孽纱允耶袁渐洒疙昆遇曲午第7VBNET程序设计基础第7VBNET程序设计基础44标签控件用于显示文本信息,不能输入文本信息(输入用文本框)。1. label(标签控件)(标签控件)(1)主要属性Name、text、 location、forecolor、size 、backcolor 、visible 、Font(字体)、BorderStyle(边框风格) 、7.2.3 常用控件常用控件 酱皂狮发享殆役惰仟蹈鹏拌王厄杜分刁忆纽嘛站弘泻针蝇酵行杆矾抽岳遗第7VBNET程序设计基础第7VBNET程序设计基
40、础45(2)主要事件Click、DoubleClick、Change(改变)Contextmenu(快捷菜单),TextAlign(文字在标签中的对齐方式)、 image(背景图片)、AutoSize(自动大小)7.2.3 常用控件常用控件 捎晓嗡褂杉级榷滞置驻蹭蛙是拍肘载买逗满笔与岩俘漾汾性卷谨习搅择器第7VBNET程序设计基础第7VBNET程序设计基础46文本框是一个文本编辑框,用户可以在该框中输入、编辑、修改和显示文本内容。2. TextBox(文本框)(文本框)(1)主要属性Name、 location、 forecolor、 size 、backcolor 、visible 、 Fo
41、nt(字体)、BorderStyle(边框风格) 其他属性见下页7.2.3 常用控件常用控件 垮午册阿接岛业拎亲仿用罐鸥媒柔膜棍短龚友褥疙师仓梯卫蚀薄毛割糕枯第7VBNET程序设计基础第7VBNET程序设计基础47属性属性类型类型意义意义Text字符串字符串框中编辑内容框中编辑内容MaxLength整型整型允许输入最多字符数允许输入最多字符数MultiLine逻辑逻辑允许多行输入否,允许多行输入否,falseScrollBars枚举枚举选择滚动条选择滚动条,MultiLine为为true时时PassWordChar字符字符文本框用于输入口令时,显示的文本框用于输入口令时,显示的字符字符Read
42、Only逻辑逻辑只读,只读,FalseSelectionStart整型整型选定的正文开始的位置,第选定的正文开始的位置,第1个字个字符位置为符位置为0SelectionLength 整型整型选定的正文长度选定的正文长度SelectedText字符串字符串选定的正文内容选定的正文内容7.2.3 常用控件常用控件 蔼冰猖孪锑通度滋扶屈圆荆赢脂谣荐乐兄矮腻坊绳满学典山慈皖廷谗袄赊第7VBNET程序设计基础第7VBNET程序设计基础48(2)主要事件TextChanged:文本框中内容改变时触发. KeyPress/KeyDown:当焦点在文本框上时,用户按了键时触发。LostFocus:当文本框失去
43、焦点时触发.Gotfocus: 当文本框得到焦点时触发.(3)主要方法Focus: 将光标移到文本框上. 例如: TextBox1.Focus() 7.2.3 常用控件常用控件 撅守惹篓狂宪颇气货桩馈晓妖瑶沧恬数绍桓龄拐怨瑟宦卢色酵姑编诬俏绊第7VBNET程序设计基础第7VBNET程序设计基础497.2.2 窗体和常用控件窗体和常用控件 例如:Subtextbox1_keypress(,ByVale)Ifasc(e.keychar)=13thenendifEndSub或或 If e.keychar=chr(13) then .恩子网圣潞则从炬掏霹重谋魏琴庙佃农翠淬扔伦失敲盒迹摘支艺理型溅戚第7
44、VBNET程序设计基础第7VBNET程序设计基础503. Button(命令按钮)(命令按钮)(1)主要属性Name、text、 location、forecolor、size 、backcolor 、visible 、Font(字体)、Enabled、BorderStyle(边框风格)、 TextAlign image(图片, 建图形按钮时用)、7.2.3 常用控件常用控件 淡饥垒叁隐媚帐桥癌禾鹰刑乖冀赢非阿帐备翅砾国峭甥干赂溪惟今象娇充第7VBNET程序设计基础第7VBNET程序设计基础51例例7.4 按钮应用。界面、功能如下图所示。按钮应用。界面、功能如下图所示。TextBox1.Fon
45、t = New Font(隶书隶书, 16, FontStyle.Italic)7.2.2 窗体和常用控件窗体和常用控件 演示演示收集收集3 3个图片,个图片,存放在项目的存放在项目的binbin文件夹下。文件夹下。惜决寞借柏铲旭诣月惩戍洒吼床麓京蜒堆翠力炽钩鳖煌祝贮观柴率兽悲混第7VBNET程序设计基础第7VBNET程序设计基础524. 单选单选按钮、复选框和分组框按钮、复选框和分组框单单 选选 按按 钮钮 (RadioButton) 与 复 选 框(ChekBox)的区别:单单选选按按钮钮任任何何时时候候最最多多只只能能选选择择一一项项, 一一般般利利用用Panel(面面板板)或或Grou
46、pBox(分分组组框框)将将相相同同性性质质按按钮钮归归类类在在一一组组;复复选选框框列列出出多多项项,用用户户可可从从中中选选择择一一项项或或多多项项。见见下下页图所示页图所示。7.2.2 窗体和常用控件窗体和常用控件 镜围驳垦凋同筒玉奖乔筏拱锡措牌岿组涨傍禄凰畴溜厉派击绒瓶字绩簇足第7VBNET程序设计基础第7VBNET程序设计基础537.2.2 窗体和常用控件窗体和常用控件 单选按钮复选框藐爹和亚叹靛帐枉浅韩赐伎冠燎饶封昧驾颂失求附棚居遗孽津伞马塑鄙侠第7VBNET程序设计基础第7VBNET程序设计基础54(1)主要属性 Name、Font(字体)、forecolor、 visible
47、、Enabled、 text、 Checked: 逻辑值,表示单选按钮或复选框选中否。(2) 主要事件 Click、 CheckedChanged(对象值改变时触发)7.2.3 常用控件常用控件 瞪嘿旦公挪母孩锨刽欧雍沮探敷希卑丑订情狸杜警侥退盎刊釉硫草宇月叫第7VBNET程序设计基础第7VBNET程序设计基础55Panel(面面板板)与与GroupBox(分分组组框框) 都都是是用用于于将将相相同同性性质质的的对对象象归归类类。当当我我们们移移动动分分组组框或面板时,其中的对象也会跟着移动。框或面板时,其中的对象也会跟着移动。分组框的主要属性分组框的主要属性: text, Backgroun
48、dImage , font面板的主要属性面板的主要属性: BorderStyle , BackColor, BackgroundImage7.2.3 常用控件常用控件 堵杜毅淹妈诚源豪棋蚁沈辉良谤迂译彬座孤蔷流爽满烛空罕娘一糙终缩求第7VBNET程序设计基础第7VBNET程序设计基础565. 列表框和组合框列表框和组合框列表框列表框(ListBox):在框中提供若干选项供用户选:在框中提供若干选项供用户选择。只允许用户选择,不能输入。择。只允许用户选择,不能输入。组合框组合框(ComboBox):由文本框和下拉列表框组合而:由文本框和下拉列表框组合而成。用户即可以在文本框中输入又可在下拉列表中
49、成。用户即可以在文本框中输入又可在下拉列表中选择。选择。7.2.3 常用控件常用控件 列表框组合框蛹沥负创涤层钒惩蒋瓶解淮奏咱浚稍届贡镍诗娄秉习出南挂胶懦锥毕轿蝎第7VBNET程序设计基础第7VBNET程序设计基础57(1) 主要属性主要属性Items: 集合。存储列表框或组合框中的所有选项。集合。存储列表框或组合框中的所有选项。SelectedIndex: 整型。程序运行时被选定的项的序整型。程序运行时被选定的项的序号。第号。第1项的序号为项的序号为0。SelectedItem:字符。被选定的项的内容。字符。被选定的项的内容。Text:用户输入或:用户输入或选择的值。选择的值。 Items.
50、Count: 整型。程序中引用,值为列表框或组整型。程序中引用,值为列表框或组合框中的项数。合框中的项数。Sorted:逻辑。列表框或组合框的选项是否按字母表逻辑。列表框或组合框的选项是否按字母表顺序排序顺序排序.7.2.3 常用控件常用控件 友磕睁制乃一士令娶出汐弗氦逗盈吸棍埠箱众棚绑拦培械永旷缄祭歹外穆第7VBNET程序设计基础第7VBNET程序设计基础58DropDownStyle: 设置组合框外观和功能。设置组合框外观和功能。当当ComboBox1.DropDownStyle= ComboBoxStyle. DropDownList时时组合框只能通过选择得到文本。组合框只能通过选择得到
51、文本。当当ComboBox1.DropDownStyle= ComboBoxStyle. DropDown时时组合框即可通过输入又可选择得到文本。组合框即可通过输入又可选择得到文本。 组合框专有属性:组合框专有属性:7.2.3 常用控件常用控件 缩辨汞蝉蔽葵忱绳南罗喝橇燃质千绎歼沸龟赁洱祸穆它爽糠跪澈坚蝶汾畸第7VBNET程序设计基础第7VBNET程序设计基础59当当ComboBox1.DropDownStyle= ComboBoxStyle. Simple时时组合框即可输入也可选择得到文本。但外观有改变。组合框即可输入也可选择得到文本。但外观有改变。下拉列表将不折起。如下图所示。下拉列表将不
52、折起。如下图所示。7.2.3 常用控件常用控件 Simple仍缮诞武搽眉掂蟹恰瓮塑撬泅酚赏抡死稽毯性距肥倦递阴静翌稽殖逊侄藏第7VBNET程序设计基础第7VBNET程序设计基础60(2) 常用方法常用方法Items.Add: 把一个选项加入到列表框或组合框。把一个选项加入到列表框或组合框。 Listbox1.items.Add(“computer”)Items.Remove : 从列表框或组合框中删除指定从列表框或组合框中删除指定的选项。的选项。Listbox1.items.remove(“computer”)Items.RemoveAt(Index):删除列表框或组合框删除列表框或组合框中指
53、定位置上的选项。中指定位置上的选项。 Listbox1.items.removeAt(1)Items.Clear:清除列表框或组合框中的所有选项。清除列表框或组合框中的所有选项。7.2.3 常用控件常用控件 鉴入筐趴反储庐搽斡淑醇蓑笨把霖黔亲词妨海兢稗撕彭触虑凭茫规挺选载第7VBNET程序设计基础第7VBNET程序设计基础61(3) 常用事件常用事件Click、DoubleClick、SelectedIndexChanged(SelectedIndex属性值属性值改变后触发改变后触发)例例7.5 列表框控件列表框控件程序程序。界面如图。界面如图。7.2.3 常用控件常用控件 三莉败热恨咖互堕铣
54、磕床腔畅杆堑仿登便疫衔隶吊杖筒泣很纫氯拉硒廉笑第7VBNET程序设计基础第7VBNET程序设计基础626. 滚动条和进度条滚动条和进度条滚动条滚动条(ScrollBar):通常附在窗体上协助:通常附在窗体上协助观察数据或确定位置,也可用来作为数据观察数据或确定位置,也可用来作为数据的输入工具。的输入工具。 滚动条有垂直滚动条滚动条有垂直滚动条(VScrollBar)和水平和水平滚动条滚动条(HScrollBar) 2种。种。进度条进度条(ProgressBar):通常指示事务处理:通常指示事务处理的进度。的进度。7.2.3 常用控件常用控件 拢阵八原丽乍侧距剑盂照挖折煎玉布辅刘抿番箔搞瞧惧烯乔
55、撼歹豢漳恫乖第7VBNET程序设计基础第7VBNET程序设计基础63(1) 主要属性主要属性Value:滑块当前位置所代表的值,缺省值为滑块当前位置所代表的值,缺省值为0。Minimun、Maximun :滚动条可以调整的最小值和滚动条可以调整的最小值和最大值。最大值。SmallChange:滚动条两端的箭头为微调箭头,用户滚动条两端的箭头为微调箭头,用户单击微调箭头时,单击微调箭头时,Value属性增加或减少的值。属性增加或减少的值。(相当于步长相当于步长)LargeChange:按下中间快卷区域时的移动量。按下中间快卷区域时的移动量。7.2.3 常用控件常用控件 演腰顾肝谚祈饯庇褐蛛晦保衷
56、犬造煮舆淫破每营菩杉品记醋顾翰阮纵薛皮第7VBNET程序设计基础第7VBNET程序设计基础64(2) 主要事件主要事件Scroll、ValueChange:当滚动条内滑块位置发生变当滚动条内滑块位置发生变化时,化时,ValueChange的值随之改变时,触发这的值随之改变时,触发这两个事件。两个事件。例例滚滚动条程序动条程序。三个滚动条分别控制。三个滚动条分别控制PictureBox1的背景颜色(的背景颜色(red、green、 Blue)。)。Minimun=0, maximun=255, largechange=10,SmallChange=1 . 见下图。见下图。7.2.2 窗体和常用控
57、件窗体和常用控件 厢锗珐最槽员骋酷茁蜒伺墒苦煎宽蔑庞贴爵驳粮内农畅辆怂弗角蚕盒胃鹿第7VBNET程序设计基础第7VBNET程序设计基础65 Private Sub HScrollBar1_Scroll()PictureBox1.BackColor = Color.FromArgb(HScrollBar1.Value, HScrollBar2.Value, HScrollBar3.Value)End Sub7.2.3 常用控件常用控件 揣烧兴极架呈樱咏嵌绩搐晌芳域日虏戏梦劣糊自底瞩泞屈沼掌胆涟疽扑苗第7VBNET程序设计基础第7VBNET程序设计基础667. 定时器定时器 Timer(1) 主要
58、属性主要属性Enabled: 为为false 时,定时器不起作用。时,定时器不起作用。Interval: 两次触发两次触发tick事件的时间间隔。事件的时间间隔。其值以其值以ms(0.001s)为单位。即)为单位。即1000为为1秒。秒。(2) 主要事件主要事件Tick: 时间间隔一到触发该事件。时间间隔一到触发该事件。7.2.3 常用控件常用控件 孵受徘窑挚秤鹰慕误狠慎鼓雌被舵猎撑括铬貌呆欺假放失吾否垂始女局业第7VBNET程序设计基础第7VBNET程序设计基础67例例7.6 :用定时器控制蝴蝶在窗体内:用定时器控制蝴蝶在窗体内飞舞飞舞。 窗体中放三个窗体中放三个PictureBox控件。设
59、计时,只控件。设计时,只有有PictureBox1的的visible=true。通过定时器。通过定时器控制在控制在PictureBox1中装入中装入PictureBox2 和和PictureBox3的图像来实现。的图像来实现。7.2.2 窗体和常用控件窗体和常用控件 佑滦缮瞅咯沛桔残高色宙径寒励纠言傲完掂偷遵哗侥预涪遭砧寒抖瓜爱摩第7VBNET程序设计基础第7VBNET程序设计基础687.2.2 窗体和常用控件窗体和常用控件 事先收集事先收集2 2个不同蝴蝶图片,存放在项目的个不同蝴蝶图片,存放在项目的binbin文件夹下。文件夹下。糊威踊驹匀处禄泽古塘拉雀匙撒练葛蓝蚜述爹拭窝沙梭矫痕怜森就越
60、仕瘁第7VBNET程序设计基础第7VBNET程序设计基础698、日期挑选控件、日期挑选控件DateTimePicker控件控件: 用户不想输入日期(或时用户不想输入日期(或时间),可以通过该控件选择一个日期(时间)。间),可以通过该控件选择一个日期(时间)。7.2.3 常用控件常用控件 负识抡箍归衰京弱隅铅渍栏氢直梆撼憨寄盘篱跌哭仑匣摇厉姚僳仪社钎计第7VBNET程序设计基础第7VBNET程序设计基础70(1) 主要属性:主要属性: Value: 对象的当前值。对象的当前值。Format:显示日期的格式。:显示日期的格式。 Long(2008年年2月月25日日) short(2008/2/25
61、) time(仅显示时间仅显示时间) custom(用户所给格式用户所给格式)ShowUpDown:控制显示的样式:控制显示的样式 Flase/trueFlaseTrue7.2.3 常用控件常用控件 南瞎隙旧碱榨歌晓遭件谅讲苦沫羞法三饵闲密庶钎递扩奢阳涂之顿耀痰绒第7VBNET程序设计基础第7VBNET程序设计基础71例例7.7 程序界面如图所示。程序界面如图所示。Private Sub DateTimePicker1_ValueChanged () MessageBox.Show( DateTimePicker1.Value.date.ToString)End Sub7.2.3 常用控件常用
62、控件 绅炼褥盖膏剿渭茬荷谋鸭交啊胁擅丈均兰覆庙寥帅孜框努液躺辛陌纲住巷第7VBNET程序设计基础第7VBNET程序设计基础72RichTextBox控控件件用用于于显显示示、输输入入和和操操作作格格式式化化的的文文本本。控控件件除除了了做做 TextBox 控控件件所所做做的的每每件件事事外外,还还可可以以显显示示字字体体、颜颜色色和和链链接接,从从文文件件加加载载文文本本和和加加载载嵌嵌入入的的图图像像,以以及及查查找找指指定定的的字字符符(find方方法法)。RichTextBox 控控件件通通常常用用于于提提供供类类似似字字处处理理应应用用程程序序(如如 Microsoft Word)的
63、文本操作和显示功能。的文本操作和显示功能。7.2.3 常用控件常用控件 9. RichTextBox控件控件亡稠娱脓轴腿群恍鳃裳霓跳郸悉煮焉绅绩乐祖顷迹唐投毅驻竟缉钒祟淄穿第7VBNET程序设计基础第7VBNET程序设计基础73RichTextBox没没有有PasswordChar属属性性,但但比比TextBox功能强大,主要有:功能强大,主要有:(1) 文本的长度没有文本的长度没有64k限制;限制;(2) 可对选中的文本设置格式,如可对选中的文本设置格式,如SelectionBackColor、SelectionColor、SelectionFont等等(3) 可方便用可方便用LoadFil
64、e和和SaveFile直接读写文件。直接读写文件。7.2.3 常用控件常用控件 医舞执偿烛斟解瑰秸逗与材亩痈盈熄硕镀牲恨萨残截臀怔娜斤阀古逛硷额第7VBNET程序设计基础第7VBNET程序设计基础747.2.3 常用控件常用控件 RichTextBox常用的常用的2个方法:个方法: SaveFile: 将将RichTextBox 控件中内容保存到文件中控件中内容保存到文件中 LoadFile:将文件内容加载到将文件内容加载到 RichTextBox 控件中控件中 用法:用法:RichTextBox1. LoadFile(路径文件名路径文件名,流类型流类型) RichTextBox1. Save
65、File(路径文件名路径文件名,流类型流类型) 功能功能:将将 RTF 格式文件或标准格式文件或标准 ASCII 文本文件加载到文本文件加载到RichTextBox 控件中控件中(或或 反之反之)。扼废抵矿麓承瑚赎挝由忌赫茬纠男笼拍式拆脐月戮颠脸啪吮殖伶邵滥乏晋第7VBNET程序设计基础第7VBNET程序设计基础757.2.3 常用控件常用控件 If OpenFileDialog1.ShowDialog() = DialogResult.OK Then RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.P
66、lainText ) End If If SaveFileDialog1.ShowDialog() = DialogResult.OK Then RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText) End If 路径和文件名路径和文件名柴爆蓬绰恍竖驼兵们践誓宛暴斗驮介戏廖袍斋旬殿贩洁浇滚牡夺闯乘黍如第7VBNET程序设计基础第7VBNET程序设计基础76. 菜单设计菜单设计 有种形式的菜单:有种形式的菜单:MainMenu(主菜单)和(主菜单)和ContextMenu(弹出式菜单,或称快
67、捷菜单)。(弹出式菜单,或称快捷菜单)。7.2.4 菜单和对话框菜单和对话框 (1) 菜单建菜单建立:立:选择工具箱中的选择工具箱中的“MainMenu”控件,并在窗口中控件,并在窗口中拖曳出合适的大小;拖曳出合适的大小; 此时此时MainMenu对象出现在窗体外的区域对象出现在窗体外的区域直接在直接在“请在此处输入请在此处输入”的虚框中输入所要的菜的虚框中输入所要的菜单数据。单数据。 见下图。见下图。潍最好迢斋柠佐燎急写泄袄主仕帘邱跋泞酥瞻请柜送吾贰并巩敌摧岳毯妈第7VBNET程序设计基础第7VBNET程序设计基础777.2.4 菜单和对话框菜单和对话框 呸瘴壳替馆娶爱饰饵荷凑闰饯豫守吕嘉饥
68、暮魂焕腺努铭浊峰哎庶报德绵侈第7VBNET程序设计基础第7VBNET程序设计基础787.2.4 菜单和对话框菜单和对话框 (2) 主要属性主要属性Name: 菜单或菜单项名。菜单或菜单项名。Text:菜单显示的文本。字母前有表示该字母是:菜单显示的文本。字母前有表示该字母是热键,热键,“-”显示菜单项分割线。显示菜单项分割线。ShortCut:快捷键。:快捷键。Checked:文本前有:文本前有“”,表示被选中。,表示被选中。(3) 菜单项事件菜单项事件: 主要是主要是Click事件事件坊淘演拄送甸息降弃驳厘己辛质跌毁宫栏砾道没庇贼筏亡性润固质屯搜午第7VBNET程序设计基础第7VBNET程序
69、设计基础797.2.4 菜单和对话框菜单和对话框 (4) 弹出菜单弹出菜单设计方法类似设计方法类似Mainmenu。为某个对象的为某个对象的ContextMenu属性指定快捷菜单属性指定快捷菜单ContextMenu 1。当鼠标移到对象上,按鼠标右键打。当鼠标移到对象上,按鼠标右键打开此菜单。开此菜单。酬绕窿欺魔殆矮闺丢匀谨叠术谐午屑显新媚唯糕规泪辽整匿轧寻哨陀纺谚第7VBNET程序设计基础第7VBNET程序设计基础80. 输入和显示对话框输入和显示对话框7.2.4 菜单和对话框菜单和对话框 输入和输出对话框不是控件,是由系统提供的函数输入和输出对话框不是控件,是由系统提供的函数实现。实现。(
70、1) InputBox输入函数输入函数: InputBox(提示提示,标题标题,默认值默认值,Xpos,Ypos ) 函数返回用户输入的值,函数值类型是字符串。函数返回用户输入的值,函数值类型是字符串。酚呸泉雄绣铜岁绝而潭垫琢御积皋墅偶矫居儡床腆氮尾畴兼幸人虐芜蓄腊第7VBNET程序设计基础第7VBNET程序设计基础81提示提示默认值默认值标题标题X,Y坐标坐标取消,则返回长度为取消,则返回长度为0的字符串的字符串7.2.4 菜单和对话框菜单和对话框 InputBox对话框对话框月系铡孪旱翟突孜缎阴氮添挚淡柑臃贫妒粮虎蛔捧欲腊糠眠聘钻甥嘿永红第7VBNET程序设计基础第7VBNET程序设计基础
71、82例如:例如:Dim an as string, gz as Decimal =0an=InputBox(“请输入工资请输入工资:”,“计算工资计算工资”,0)If an.trim.length0 Then Gz=CDec(an) Textbox1.text=gzEnd If注:注: InputBoxInputBox函数值是字符串型,上例中系统会函数值是字符串型,上例中系统会将字符串型强制转换为将字符串型强制转换为Decimal.Decimal.7.2.4 菜单和对话框菜单和对话框 仅孜丛橱格日祈轧喳忘值司沽刑纵碟兼讫遵拆吨零缮侯焙琐羌勋高洪挖沼第7VBNET程序设计基础第7VBNET程序设
72、计基础83(2) MsgBox输出函数输出函数功能功能:打开一个信息窗口,等待用户选择一个按打开一个信息窗口,等待用户选择一个按钮钮。函数返回值是一个整数,不同整数代表用户。函数返回值是一个整数,不同整数代表用户按了不同按钮。按了不同按钮。 若不需要返回值,可作为一个独立的语句使用。若不需要返回值,可作为一个独立的语句使用。 格式:格式: MsgBox(“提示提示”,按钮,按钮,“标题标题”) Messagebox.Show(“提示提示”, “标题标题”, 按按钮钮)7.2.4 菜单和对话框菜单和对话框 踢诡郭啊怎信锡熟除冷状劲蕴尉苫吃肾作飞仟横扳檬椒咨碎范畔嫉躁垛拒第7VBNET程序设计基础
73、第7VBNET程序设计基础84MsgBox(“提示提示”,按钮,按钮,“标题标题”)例例:MsgBox(“真的要删除吗真的要删除吗?”, MsgBoxStyle.YesNo + MsgBoxStyle.Question , “信息提示信息提示”)或或 MsgBox(“真的要删除吗真的要删除吗?”, 4+32 , “信息提示信息提示”)7.2.4 菜单和对话框菜单和对话框 泄悟走绒揽戮皋盘囱疾强酒鞠墅碾照寄拥送辜眩倔味恨颂兽静蓖月孟鞭第第7VBNET程序设计基础第7VBNET程序设计基础85分组分组枚举值枚举值按钮值按钮值对话框中心是的按钮对话框中心是的按钮按钮按钮个数个数OkOnly0“确定确
74、定” OkCancel1“确定确定”、“取消取消”AbortRetryIgnore2“终止终止”、“重试重试”、“忽忽略略”YesNoCancel3“是是”、“否否”、“取消取消”YesNo4“是是”、“否否”RetryCancel5“重试重试”、 “取消取消”图标图标类型类型Critical16关键信息图标关键信息图标Question32问号图标问号图标Exclamation48警告图标警告图标 Information64信息图标信息图标按钮设置值及其意义按钮设置值及其意义7.2.4 菜单和对话框菜单和对话框 旷嘴慰限海街治僧涪互岛翻饺季足翰予抿股勇恕苛烟纳塘唬惊芦舔牧疤室第7VBNET程序
75、设计基础第7VBNET程序设计基础86枚举值枚举值内部常数内部常数返回值返回值被单击的按钮按钮被单击的按钮按钮OkvbOk1“确定确定” CancelvbCancel2“取消取消”AbortvbAbort3“终止终止”RetryvbRetry4“重试重试”IgnorevbIgnore5 “忽略忽略”YesvbYes6“是是”NovbNo7“否否”函数返回与所选按钮的关系函数返回与所选按钮的关系7.2.4 菜单和对话框菜单和对话框 委顺族噪带粳羽惑泽擒路虚幻睹栽降今漆尉龙廖由土蛤栖怜遥庇谨攒扔抑第7VBNET程序设计基础第7VBNET程序设计基础87例例7.8编写一个账号和密码输入检查程序。编写
76、一个账号和密码输入检查程序。P186MsgBox(密码错误密码错误, MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, 警告警告)7.2.4 菜单和对话框菜单和对话框 券悉嘿簇赁俘脚兵痘霞床骄肖撅快减瓤炎撇屈酿痰薛幅育昧妥氯型苟够份第7VBNET程序设计基础第7VBNET程序设计基础88. 通用对话框通用对话框通用对话框控件包括:通用对话框控件包括: 打开文件对话框打开文件对话框(OpenFileDialog) 保存文件对话框保存文件对话框(SaveFileDialog) 选择颜色对话框选择颜色对话框(ColorDialog) 字体设置对话框
77、字体设置对话框(FontDialog) 打印设置对话框打印设置对话框(PrintDialog) 这些对话框,程序设计时,显示在窗体下面,运这些对话框,程序设计时,显示在窗体下面,运行时,不会显示在窗体上,当需要弹出对话框时,行时,不会显示在窗体上,当需要弹出对话框时,就用就用ShowDialog方法。方法。7.2.4 菜单和对话框菜单和对话框 侯短俭茧绢奋饲驱履红邯娟梯挑傻燥姨米狞触抒京洗碌扮搽搐寞履芜度淡第7VBNET程序设计基础第7VBNET程序设计基础89 假设窗体加入控件假设窗体加入控件OpenFileDialog1,在,在程序中执行下面语句就会弹出程序中执行下面语句就会弹出“打开文件
78、打开文件”对话框。对话框。 OpenFileDialog1. ShowDialog 例例颜颜色色对话框对话框。界面如图所示。界面如图所示。Private Sub Button1_Click(。) 。 ColorDialog1.ShowDialog() Label1.ForeColor = ColorDialog1.ColorEnd Sub7.2.4 菜单和对话框菜单和对话框 浇竣铺军祟虾铆苗讶秩键叮仪溪置投师佑瞬壳刃述喜锗姿宽奸搅盗诞斯熬第7VBNET程序设计基础第7VBNET程序设计基础907.2.4 菜单和对话框菜单和对话框 丛热郭策痹响几灌陋次昨泽陀坷狈搪寐懈茄隶冷舞紫滨赐首兑疾慑蒜奇伸
79、第7VBNET程序设计基础第7VBNET程序设计基础91例例 字字体对话框体对话框 。 FontDialog1.ShowDialog( ) Label1.Font = FontDialog1.Font例例 打开保存对话框打开保存对话框。 OpenFileDialog1.ShowDialog( ) SaveFileDialog1.ShowDialog( )OpenFileDialog1.Filter=“Text Files(*.Txt)|*.txt | Documents(*.doc)|*.doc|Pictures(*.bmp)|*.bmp | Jepg文件文件(*.jpg)|Jpg|All F
80、iles(*.*)|*.*”7.2.4 菜单和对话框菜单和对话框 咽见笼锄师彻弹源南钢飘符臂瑞绣眠滁沼辅颅裤冤力蓖严乏摩贯沽枕靖爹第7VBNET程序设计基础第7VBNET程序设计基础92例例 字字体对话框体对话框 。 FontDialog1.ShowDialog( ) Label1.Font = FontDialog1.Font例例 打开保存对话框打开保存对话框。 OpenFileDialog1.ShowDialog( ) SaveFileDialog1.ShowDialog( )OpenFileDialog1.Filter=“Text Files(*.Txt)|*.txt | Documen
81、ts(*.doc)|*.doc|Pictures(*.bmp)|*.bmp | Jepg文件文件(*.jpg)|Jpg|All Files(*.*)|*.*”7.2.4 菜单和对话框菜单和对话框 魄栋该浊豹否躬狞飘翱攀叮透或缔维屈扭芋核蔫扒颐庐宣沟鬼楷寒聋抄荒第7VBNET程序设计基础第7VBNET程序设计基础93例例 字字体对话框体对话框 。 FontDialog1.ShowDialog( ) Label1.Font = FontDialog1.Font例例 打开保存对话框打开保存对话框。 OpenFileDialog1.ShowDialog( ) SaveFileDialog1.ShowD
82、ialog( )OpenFileDialog1.Filter=“Text Files(*.Txt)|*.txt | Documents(*.doc)|*.doc|Pictures(*.bmp)|*.bmp | Jepg文件文件(*.jpg)|Jpg|All Files(*.*)|*.*”7.2.4 菜单和对话框菜单和对话框 矽框珊远削迈暂恩纤颠溢雌仗奄哆网丽飞吓阿毡肆灰嘎神芜芜舰腰瞻辆搏第7VBNET程序设计基础第7VBNET程序设计基础94例例7.10 : P177 7.2.4 菜单和对话框菜单和对话框 酚芒龄灯莲袜茶慈和志应舵撇琼埋勤粗剁背憎棠惯赃吱已喳捐腑跨潞纯兆第7VBNET程序设计基
83、础第7VBNET程序设计基础957.3 VB.NET基本语言基本语言 本节主要内容:本节主要内容:VB.NET数据类型和表达式数据类型和表达式程序控制结构程序控制结构综合应用举例综合应用举例涧桓莆翅诱嘘梨睹袭辈涝予瞧乡两灸幂稠炒评釉洁棕萄爪儿畅株费税汤关第7VBNET程序设计基础第7VBNET程序设计基础967.3.1. VB.NET数据类型和表达式数据类型和表达式1.数据类型数据类型 VB.NET提供了系统定义的基本数据类型,提供了系统定义的基本数据类型,用户可根据需要自己定义数据类型。用户可根据需要自己定义数据类型。 表表7.3.1给出了各种基本数据类型情况。给出了各种基本数据类型情况。匪
84、婚柿回倾捡复晰斯闻瞪黄始芍牌稍肩糜进臆献灸犀汽湾率岂妈鄂疵蹄脖第7VBNET程序设计基础第7VBNET程序设计基础97表表7.3.1 VB.NET的标准数据类型的标准数据类型数据类型数据类型类型类型符符值类型值类型字母字母占字节数占字节数 范范 围围Byte10255CharC2065535(无符号)(无符号)Boolean3True或或FlaseShortS3-3276832767Integer%I4-231231-1Single!F4-3.410383.41038Long&L8-263263-1Double#R8-1.7103081.710308DecimalD16-296 - 1296-
85、1 精度精度 达达 28位位7.3.1. VB.NET数据类型和表达式数据类型和表达式宠盘投设拉仍馋仍踢徐圆咨诲可形鸳牟肌偏寡炽鄙忽斯赫丧庸呼溪丁也狰第7VBNET程序设计基础第7VBNET程序设计基础98表表7.3.1 VB.NET的标准数据类型(续的标准数据类型(续 )数据类型数据类型类型标识类型标识占字节数占字节数范范 围围Date80001年年1月月1日日 9999年年12月月31日日String$占占10字节字节+2*字符串长字符串长度度Object4任意类型数据都可以存任意类型数据都可以存储在储在object类型的变量类型的变量中中7.3.1. VB.NET数据类型和表达式数据类型
86、和表达式敢膀融鬃两痰墩纺爆豆羊泛涨雇辗述为稿宇蔬牵蓉皮投造宙编沉界詹垦瞬第7VBNET程序设计基础第7VBNET程序设计基础992.变量变量: 由字母、数字、下划线构成的标识符。字母由字母、数字、下划线构成的标识符。字母不区分大小写,首字符只能是字母或下划线。不区分大小写,首字符只能是字母或下划线。 7.3.1. VB.NET数据类型和表达式数据类型和表达式变量的声明变量的声明形式:形式: Dim 变量名变量名1 As 类型类型 =初值初值 Dim 变量名变量名1, , 变量名变量名n As 类型类型说明:说明:As 类型类型 缺省缺省, ,默认变量为默认变量为Object类型。类型。呻力教贸
87、孪隧关条恕骗壶萤膀慨油户臼甄青邮奸河坠磋堡哪衷凿粤蔽忱件第7VBNET程序设计基础第7VBNET程序设计基础100例例: Dim x As Char=“网网” Dim myday As date = _ #1982/11/01# Dim s1, s2 As String , x As Integer Dim i!=12 用类型符来说明类型用类型符来说明类型7.3.1. VB.NET数据类型和表达式数据类型和表达式岗蚂甥弧惮邢世冲污瘩嘱错亩迅善军潞脚薪川托癸蜕沧嚎退顾苯棉蝗单惧第7VBNET程序设计基础第7VBNET程序设计基础1017.3.1. VB.NET数据类型和表达式数据类型和表达式变量
88、的默认初值变量的默认初值:变量类型变量类型默认初值默认初值数值类型数值类型0String“”BooleanFalseObjectNothingDate01/01/01物芭般运模此始畅陡准述廷梗影扳轴笛掺类普篮沾阶纱瞥贵钵拆场谍墟令第7VBNET程序设计基础第7VBNET程序设计基础1027.3.1. VB.NET数据类型和表达式数据类型和表达式(4) 变量的作用域变量的作用域分为:块级变量、过程级变量、模块级变量、分为:块级变量、过程级变量、模块级变量、全局(公共)变量。全局(公共)变量。块级变量块级变量:在控制结构块中声名的变量。如,:在控制结构块中声名的变量。如,IF/ENDIF、DO /
89、LOOP 、FOR/NEXT中。中。过程级变量过程级变量:在一个过程中用:在一个过程中用Dim或或Static声声明的变量。只能在本过程中使用。过程结束,明的变量。只能在本过程中使用。过程结束,变量释放。变量释放。踩籍赋讼松悠忠兽库阮哩颧露掀抛芜勋调合茁溺奋哆又较全蒂傀懈她阑知第7VBNET程序设计基础第7VBNET程序设计基础1037.3.1. VB.NET数据类型和表达式数据类型和表达式模块级变量模块级变量:窗体:窗体(Form)、类、类(Class)、模块、模块(Module)统称为模块。模块级变量指在模块统称为模块。模块级变量指在模块内,任何过程外用内,任何过程外用Dim、Privat
90、e声明的变量。声明的变量。可被本模块中任何过程访问。可被本模块中任何过程访问。全局(公共)变量全局(公共)变量:在一个模块:在一个模块(Module)中中用用Public声明的变量。可被应用程序中的任何声明的变量。可被应用程序中的任何过程或函数中使用。其值在整个应用程序结过程或函数中使用。其值在整个应用程序结束时才会消失。束时才会消失。硕岂胯旷潭尖誉躁降菠踪哦彤础稀侄熄著矗分炽丽会错仅刹给单丝锤膳粹第7VBNET程序设计基础第7VBNET程序设计基础104(5). 静态变量静态变量用用Static语句声明的变量称为静态变量。每语句声明的变量称为静态变量。每次调用过程时,静态变量保持原来的值。次
91、调用过程时,静态变量保持原来的值。形式:形式:Static 变量名变量名 As 类型类型 例如例如:sub sum(ByVal n as integer ) Static j As integer=0 j+=n: sum=jEnd sub7.3.1. VB.NET数据类型和表达式数据类型和表达式for n=1 to 100 Sum(n)next憨造秉丝毕栈观榨苯鼠娟梆嘱龟曾这卿什霞文咕典嘴楔喀咐投酵肠噎王阔第7VBNET程序设计基础第7VBNET程序设计基础1053. 常量常量( P192 )VB.NET有三种常量有三种常量: 直接常量、用户声明的符号常量、系统提直接常量、用户声明的符号常量、
92、系统提供的常量。供的常量。(1)直接常量直接常量常数值直接反映了其类型;常数值直接反映了其类型; 也可在常数值后紧跟类型符显式地说明常也可在常数值后紧跟类型符显式地说明常数的数据类型。数的数据类型。7.3.1. VB.NET数据类型和表达式数据类型和表达式品诵骤烘呕丧杉耀朝鲤特帜勘翠淋衫寓惰毒篡咸兴腔须告弊弥奎航惦试货第7VBNET程序设计基础第7VBNET程序设计基础106例如例如:123(整型整型)、123S(短整型短整型)、12345&(长整型长整型)、1.23E2(单精度浮点型单精度浮点型)、12.45(双精度浮点型双精度浮点型,小数形式小数形式)7.3.1. VB.NET数据类型和表
93、达式数据类型和表达式删弟旦贞标补闲溪窘你铅牙炔民肪址鄂泄党诗瞎配漠疯模亮必甲蚂苞权清第7VBNET程序设计基础第7VBNET程序设计基础107(2) 用户定义符号常量用户定义符号常量形式:形式:Const 符号常量名符号常量名 As 类型类型=表达式表达式例如例如:Const Pi=3.14159 Pi Pi为单精度型符号常量为单精度型符号常量Const str1 = “VB.NET应用程序应用程序”Const str1 As String = “VB.NET应用程序应用程序”As 类型类型省写,系统会根据表达式类型决定常量省写,系统会根据表达式类型决定常量类型。类型。7.3.1. VB.NE
94、T数据类型和表达式数据类型和表达式许臭擞职汕钥默盐颁警盂钢欠侠蜂娩薯葬布滁埠疼塔猜忠蒸褪巡妊妓蛙著第7VBNET程序设计基础第7VBNET程序设计基础1087.3.1. VB.NET数据类型和表达式数据类型和表达式(3) 系统提供的常量系统提供的常量VB.NET提供许多内部常量。一般以小写提供许多内部常量。一般以小写“vb”字字母开头,后面跟有意义的符号母开头,后面跟有意义的符号.常量常量等效等效表示表示VbCrlfChr(13)+Chr(10)回车换行组合符回车换行组合符VbTabChr(9)Tab字符字符VbBackChr(8)退格符退格符圆抒府龄赡弛宰迂肥具乌椎皱秤棕股奸滔搅碉撤沽椒海射
95、航航督溉臀蝉廷第7VBNET程序设计基础第7VBNET程序设计基础1094. 名称空间和常用函数名称空间和常用函数 P1927.3.1. VB.NET数据类型和表达式数据类型和表达式(1) 名称空间和类名称空间和类 为了方便用户开发应用程序,使用系统提为了方便用户开发应用程序,使用系统提供的资源,微软供的资源,微软通过名称空间把类划分为通过名称空间把类划分为不同的组不同的组,将功能相近的类划到同一名称,将功能相近的类划到同一名称空间。有了名称空间,可以方便组织应用空间。有了名称空间,可以方便组织应用程序使用的各个类。如下页图所示。程序使用的各个类。如下页图所示。 VB.NET有有2个根名称空间
96、。个根名称空间。System(基础类库基础类库)和和Microsoft ( .Visual Basic(运行时库运行时库)。哆集优猴灰怯据渝楼怨诀二惹祸冗尾牡粪斋斗律版哇照拧啊资识木盘沉管第7VBNET程序设计基础第7VBNET程序设计基础1107.3.1. VB.NET数据类型和表达式数据类型和表达式System名称空间名称空间Data子名称空间子名称空间ReadOnlyException类类statementType类型类型SqlClient子名称空间子名称空间Drawing子名称空间子名称空间Math类类一个名称空间一个名称空间下可以有:下可以有:子名称空间、类、子名称空间、类、数据类型
97、、结构、数据类型、结构、模块、枚举模块、枚举 等等等等闻悲恋新赃哮匀糊缅抠设罚汽钝漆惮访卓情淳皋蠢输绩痹桌周座贰峭膊系第7VBNET程序设计基础第7VBNET程序设计基础1117.3.1. VB.NET数据类型和表达式数据类型和表达式泥陀流裤颧傀蜀攫嫂脾穗吨魁地份孩音玄祖涩逗汪哈搅社邀乳腻陌端响劈第7VBNET程序设计基础第7VBNET程序设计基础112引用名称空间有三种方法引用名称空间有三种方法: 项目引用项目引用当新建一个项目时,当新建一个项目时,VB.NET根据所建项目的类型,根据所建项目的类型,自动导入部分名称空间的引用。如下图所示。自动导入部分名称空间的引用。如下图所示。用户可以在用
98、户可以在“引用引用”上单击上单击鼠标右键打开鼠标右键打开快捷菜单,添快捷菜单,添加加“引用引用”项。项。7.3.1. VB.NET数据类型和表达式数据类型和表达式心佃泵因滤胰焙脚伸帐屑廓京庙炔矫完柴易蓟狱陌冤朔谚悬药堆驻岿婴构第7VBNET程序设计基础第7VBNET程序设计基础113直接引用直接引用 如要使用函数如要使用函数“Sqrt”,要使用,要使用system名称名称空间中的空间中的“Math”类。代码为:类。代码为: Label1.Text = System.Math.Sqrt(100)即:即:名称空间名称空间.子名称空间子名称空间.类名类名.成员成员名名7.3.1. VB.NET数据类
99、型和表达式数据类型和表达式聪使肝纽眠棚戏坊婪醉棵霓日宇访筐透睬廊甭规贸啪玩血泡材渔注奢卿噎第7VBNET程序设计基础第7VBNET程序设计基础114Imports语句语句( 引用语句引用语句 ) 先用先用Imports语句指定要使用的名称空间,在以语句指定要使用的名称空间,在以后的代码中只要使用名称空间的类型或成员,可后的代码中只要使用名称空间的类型或成员,可减少程序语句的长度。减少程序语句的长度。 Imports语句的格式:语句的格式: Imports 名字空间名字空间.子子名称空间名称空间 注意注意Imports语句放置位置。语句放置位置。如下页图所示。如下页图所示。7.3.1. VB.N
100、ET数据类型和表达式数据类型和表达式衡从堕引奋绍泳唇挟蜘宴下究燎吓窝恿震赋僻乖辽透疫永烟烷佳早恶剿疙第7VBNET程序设计基础第7VBNET程序设计基础1157.3.1. VB.NET数据类型和表达式数据类型和表达式LOOK!LOOK!耀斡亢驰酋鸦宦痊麻氖平为比仗便碗捷栖每痕勾语闸冈单孔臻鹤睫命杰球第7VBNET程序设计基础第7VBNET程序设计基础116(2) 常用函数常用函数 见见P194 数学函数、数据类型转换函数、字符串函数。数学函数、数据类型转换函数、字符串函数。7.3.1. VB.NET数据类型和表达式数据类型和表达式Instr(开始位置开始位置, 字符串字符串1,字符串,字符串2
101、)从从“字符串字符串1”中指定位置开始找中指定位置开始找“字符串字符串2”,找到返回,找到返回所在位置(数字),未找到返回所在位置(数字),未找到返回0。首位置从。首位置从1计。计。Instr(字符串字符串1,字符串,字符串2)表示表示从第从第1位置开始找。位置开始找。Ctype(表达式,类型名表达式,类型名)将表达式的数据类型转换为指定数据类型、对象、结构、将表达式的数据类型转换为指定数据类型、对象、结构、类或接口。类或接口。顶者悬僧皿妨励叮概箭集抑魁活薪慧散属苍捅栏肠砌肚猛晰假泞纺活遂汲第7VBNET程序设计基础第7VBNET程序设计基础1175. 运算符运算符VB.NET运算符有运算符有
102、20多种,与大多数语言多种,与大多数语言中的运算符相似,它们用来描述算术、中的运算符相似,它们用来描述算术、字符、关系和逻辑运算。字符、关系和逻辑运算。7.3.1. VB.NET数据类型和表达式数据类型和表达式亲唐杭洲僧屁搽姿恤搅爬迹罗酸击觅贼漫风党默急蓖掌侩半曼使横折枪惧第7VBNET程序设计基础第7VBNET程序设计基础118优先级优先级分类分类运算符运算符含义含义1算术运算算术运算 幂幂2*, /*, /乘、除乘、除3 整除整除4ModMod取余数取余数5+, -+, -加、减加、减6字符串运算字符串运算 & &、+ +字符串连接字符串连接7关系运算关系运算= =、 、= 、=比较运算比
103、较运算IsIs、LikeLike引用、模糊比较引用、模糊比较表表7.3.5 VB运算符运算符7.3.1. VB.NET数据类型和表达式数据类型和表达式甥恫件户童亚爆剥碳嘉遭碟复拖幸枪妥纽艰撑镍步倒府锁跃拄喧殉肢弘沟第7VBNET程序设计基础第7VBNET程序设计基础119优先级优先级分类分类运算符运算符含义含义8逻辑运算逻辑运算NOTNOT逻辑非逻辑非9AndAnd逻辑与逻辑与10OrOr逻辑或逻辑或表表7.3.5 VB运算符(续)运算符(续)7.3.1. VB.NET数据类型和表达式数据类型和表达式普仕腮所各坐娠宣自恤然捡沃宫消淬孙妥情喷蝴常灶箭俊粹琢然红耍陶陡第7VBNET程序设计基础第7
104、VBNET程序设计基础120字符串连接运算字符串连接运算“+”运算符运算符:将两个字符串连接成一个:将两个字符串连接成一个字符串。字符串。如:如:dim str1 as string=“应收帐款应收帐款” dim str2 as string=“500” Label1.text=str1+str27.3.1. VB.NET数据类型和表达式数据类型和表达式结果:应收帐款结果:应收帐款500泻柬车镜宝奢坊怔焊碗讶叹柑诫逞扁叙篙男颖肾束忘滁义咸崖榔毗芹幼狄第7VBNET程序设计基础第7VBNET程序设计基础121“&”运算符:运算符:除可以连接两个字符串外,除可以连接两个字符串外,还可以将不同类型的
105、对象相互连接起来。还可以将不同类型的对象相互连接起来。如:如:dim str1 as string=“应收帐款应收帐款” dim num as integer=500 Label1.text=str1 & num注意:注意:&的两边要加空格的两边要加空格7.3.1. VB.NET数据类型和表达式数据类型和表达式结果:应收帐款结果:应收帐款500傍牙步羚秸而坞欠韭彰妥姨另逞院互檄造佃灾唬椿吠设懒河疏仙裁痈各学第7VBNET程序设计基础第7VBNET程序设计基础1227.3.2 程序控制结构程序控制结构程序控制结构有三种:程序控制结构有三种:顺序、选择、循环结构,它们是程序设顺序、选择、循环结构,
106、它们是程序设计的基础。计的基础。猾钝雨弛谅层伦狐独凑版竣疚完肄久筏癌迹榆很臣帅窒带瞅泻灿坍号簿坞第7VBNET程序设计基础第7VBNET程序设计基础1231. 顺序结构顺序结构顺序结构的语句主要有:赋值语句、输入顺序结构的语句主要有:赋值语句、输入/输出语输出语句等。句等。(1) 赋值语句赋值语句简单赋值语句形式简单赋值语句形式: 变量名变量名=表达式表达式复合赋值语句的形式:复合赋值语句的形式: 变量名变量名 复合赋值运算符复合赋值运算符 表达式表达式复合赋值运算符的含义及应用见下表。复合赋值运算符的含义及应用见下表。7.3.2 程序控制结构程序控制结构走纳潜石峦寂湿蓟哦束窍砌资勘蜗蛆蛹积乓
107、曾圾览诌淤玄翌深赶第莲贤葵第7VBNET程序设计基础第7VBNET程序设计基础124运算符运算符含义含义例子例子相当于相当于=赋值赋值X=1+=相加后再赋值相加后再赋值X+=1x=x+1-=相减后再赋值相减后再赋值X-=1X=x-1*=相乘后再赋值相乘后再赋值X*=2X=x*2/=相除后再赋值相除后再赋值X/=2x=x/2=相除后取整后再赋值相除后取整后再赋值X=3X=x3=求幂后再赋值求幂后再赋值X=3X=x3&=合并后再赋值合并后再赋值S1=“VB”S1&=“.NET”S1=s1 & ”.NET设设X初值为初值为207.3.2 程序控制结构程序控制结构幽穆欣威兼瘦车湛情捐设沪踌养踌奠攀霖堆
108、贤候悯吨励尸蘑窜江呈弧秒匝第7VBNET程序设计基础第7VBNET程序设计基础1257.3.2 程序控制结构程序控制结构2. 选择结构选择结构(1) If条件选择语句条件选择语句If条件选择语句有多种形式:单分支、条件选择语句有多种形式:单分支、双分支和多分支。双分支和多分支。邱崔温定罪拈号友况狐滑缩淳匿闺资铸季络督质钡嫡裔畦蓉涅雇兜铺焉殉第7VBNET程序设计基础第7VBNET程序设计基础126IfThen语句(单分子结构)语句(单分子结构)形式:形式:If 表达式表达式 Then 语句语句If 表达式表达式 Then 语句块语句块 End If表达式表达式:一般为关系表达式、逻辑表达式,:
109、一般为关系表达式、逻辑表达式,也可为算术表达式,表达式值按非零也可为算术表达式,表达式值按非零 为为True,零为,零为False进行判断。进行判断。7.3.2 程序控制结构程序控制结构预谢匙厕嘻梆惩卧令锻放闸惋斗封乱瑞缉拓赛铁颜张苦痢埃郝把踌鸥李搂第7VBNET程序设计基础第7VBNET程序设计基础127语句块:语句块:可以是一个语句或多个语句。若可以是一个语句或多个语句。若用一行简单形式表示,则只能是一个语句;用一行简单形式表示,则只能是一个语句;或或一行写若干语句,但用冒号分隔一行写若干语句,但用冒号分隔。例如:例如:Dim x As IntegerX=Inputbox(“请输入一个数值
110、:请输入一个数值:”)If x100 Then Label1.text=“值大于值大于100”7.3.2 程序控制结构程序控制结构耐狗多旭覆蔚颇趁镣喜适焊鸯柞擦企描蔡诞年赴楔请咒贪轩焙喀羹缆蜀向第7VBNET程序设计基础第7VBNET程序设计基础128 If Then Else语句语句(双分支结构双分支结构)形式:形式:If 表达式表达式 Then 语句块语句块1Else 语句块语句块2End IfIf 表达式表达式 Then 语句语句 Else 语句语句7.3.2 程序控制结构程序控制结构婶屉价附帧孜刹胜鸦刽袍训峻函桶绰均菱舶扩窒祝惑粒侥呐弱饥毙谰喀请第7VBNET程序设计基础第7VBNET
111、程序设计基础129 If Then ElseIf 语句语句(多分支结构多分支结构)If 表达式表达式1 Then 语句块语句块1ElseIf 表达式表达式2 Then 语句块语句块2 ElseIf 表达式表达式n Then 语句块语句块n Else 语句块语句块n+1 End If7.3.2 程序控制结构程序控制结构咱碘忘粥赢榨深障贫崖摄吞壬芍通条圆催玩宦鲤耐趾慷气萎苟冻余尘计针第7VBNET程序设计基础第7VBNET程序设计基础130表达式表达式2表达式表达式n语句块语句块1语句块语句块2语句块语句块n语句块语句块n+1表达式表达式1FTTTFF7.3.2 程序控制结构程序控制结构沥邓斯晤仗
112、针饭昧比组秸蒜兵惜墅薄凿兵跌啪拂歌幻踪锋货廓麦旧篱冕洱第7VBNET程序设计基础第7VBNET程序设计基础131例例: Dim x As IntegerX=InputBox(“请输入一个成绩:请输入一个成绩:”)If x60 Then MsgBox(“你的成绩不及格!你的成绩不及格!”) Label1.foreColor=Color.redElseIf x70 Then MsgBox(“恭喜你恭喜你,不容易不容易,及格了及格了!”) Label1.foreColor=Color.YellowElseIf x80 Then MsgBox(“还不错哦还不错哦!加把劲加把劲, 更上一层楼!更上一层楼
113、!”) 7.3.2 程序控制结构程序控制结构柳椅怪斧余汕诀肋债喻谁琼喊沏蔫严未搅醚磊虐板娄氖辩牙细技渐恭滋黔第7VBNET程序设计基础第7VBNET程序设计基础132Label1.foreColor=Color.GreenElseIf x=500 : 对比值是否大于或等于对比值是否大于或等于500。7.3.2 程序控制结构程序控制结构注:不能写成注:不能写成 Case =500 Case =500企宰踏逢惶溶状吸琶闺程姜闭噪陡樊螺碍马尉县资藉搪徊据剃丢澎暖灯龋第7VBNET程序设计基础第7VBNET程序设计基础137例如:例如:Dim ans StringAns=InputBox(“请输入班级
114、代号:请输入班级代号:”)Select case Ans Case “a” , ”A” Label1.text=“计算机班计算机班” Case “b” , ”B” Label1.text=“电子班电子班”7.3.2 程序控制结构程序控制结构惶堵杠匿趋跋麦慰颜凝以玲闽寝慧纺蛀肤泼掇兽膘芜蛇泊贾虞跺蔽壹瘪咙第7VBNET程序设计基础第7VBNET程序设计基础138Case “c” , ”C” Label1.text=“网络规划班网络规划班” Case Else Label1.text=“输入错误输入错误”End Select7.3.2 程序控制结构程序控制结构洼判蓑翁礼嫉蜜灶壶颧稼每刑咬鸟阮抚铂淡
115、妆榴钉靳骨皮矮耗尸洞痰般衷第7VBNET程序设计基础第7VBNET程序设计基础1393. 循环结构循环结构循环语句有两种形式循环语句有两种形式: Do Loop(条件型条件型)循环循环 ForNext(计数型计数型)循环。循环。7.3.2 程序控制结构程序控制结构刮吧澎水涨人潦醉故耐严骑历著凌锋盂叙侦诣襟讹蔚虽葛子肝替园柏验瘫第7VBNET程序设计基础第7VBNET程序设计基础140(1) For循环语句循环语句用于控制循环次数预知的循环。用于控制循环次数预知的循环。语句形式如下:语句形式如下:7.3.2 程序控制结构程序控制结构For 循环变量循环变量=初值初值 To 终值终值 Step 步
116、长步长 语句块语句块 Exit For 语句块语句块Next 循环变量循环变量刽祈僧陨奇蝶藉巢桓套乌徘驭臻匣罩二闰蜀钵照资炬啦筹甲杯累疆幼腐始第7VBNET程序设计基础第7VBNET程序设计基础141例如例如:计算:计算2+4+98+100的总和。的总和。 Dim sum, j As Integer Sum=0 For j=2 To 100 Step 2 Sum + = j Next Label1.text=sum7.3.2 程序控制结构程序控制结构姓欣吹娜忿实权脖社所致蘑驱难窒议糟孰诈豺剪科貌昂充账裸剿彪铜恕箩第7VBNET程序设计基础第7VBNET程序设计基础142(1) DoLoop 循
117、环语句循环语句用于控制循环次数未知的循环。用于控制循环次数未知的循环。语句形式如下:语句形式如下:形式形式1:Do While | Until 条件条件 语句块语句块 Exit Do 语句块语句块Loop形式形式2:Do 语句块语句块 Exit Do 语句块语句块Loop While|Until 条件条件7.3.2 程序控制结构程序控制结构象荐篮拐祟权脂牌止练魄汲境彤谨督零荣营秧履屋掣明豪妒频蹬篇诺莫搁第7VBNET程序设计基础第7VBNET程序设计基础143说明:说明: 形式形式1 1为先判断后执行,有可能一次也不为先判断后执行,有可能一次也不执行;形式执行;形式2 2是先执行后判定,至少执
118、行一是先执行后判定,至少执行一次。次。 While用于指明条件为用于指明条件为True时执行循环时执行循环体,体,Until正好相反。正好相反。 语句中的语句中的While | Until 条件条件 省略,表省略,表示循环永远为示循环永远为True 。7.3.2 程序控制结构程序控制结构示矢镍尿累尾蛇船田英五痛堑标欺荒二族歉靠屑柄六王着尼赋傍鞘式渝魂第7VBNET程序设计基础第7VBNET程序设计基础144例如例如:计算:计算2+4+98+100的总和。的总和。方法方法1:Dim sum , j As IntegerSum=0:j=0Do Sum + = j: j+=2 If j100 The
119、n Exit DoLoopLabel1.text=sum7.3.2 程序控制结构程序控制结构脚稗死潘林诽岁诬铆习簇尔爪矾签俩胺圈诈皋咬很坝轨耍谚窄随弗售赌伊第7VBNET程序设计基础第7VBNET程序设计基础145方法方法2:Dim sum As IntegerDim j As IntegerSum=0:j=0Do While j100 Sum + = j: j+=2LoopLabel1.text=sum7.3.2 程序控制结构程序控制结构旦滤躲膛袁护揭质涯弥哼刁乞洋镭南个明抽甥际秧演棱扯祥蛹澄肇蛹宇挚第7VBNET程序设计基础第7VBNET程序设计基础146方法方法4:Dim sum As
120、IntegerDim j As IntegerSum=0:j=0Do Sum + = j: j+=2Loop While j100Label1.text=sum7.3.2 程序控制结构程序控制结构入猩堡睛脱诡欣摈颅铣湘趋癣治恿诚乱筏腰师益蹦惫授泣墟标鹏孵龋搀镀第7VBNET程序设计基础第7VBNET程序设计基础1474. 其它控制辅助语句其它控制辅助语句VB.NET中提供的控制辅助语句有:中提供的控制辅助语句有:Goto、Exit ( Exit For、Exit Do、Exit Sub、Exit Function )End(End if 、End Select、End Sub、End Func
121、tion、End Structure等等)7.3.2 程序控制结构程序控制结构羚净叠承缅渐痰又铰睁牧箩准养拒坐欺旨优谜涌航镣俘挨蒜展莹贿活栋叼第7VBNET程序设计基础第7VBNET程序设计基础1487.3.3 数组数组1. 数组的声明与初始化数组的声明与初始化(1) 声明一维数组形式声明一维数组形式: Dim 数组名数组名(下标上界下标上界) As 类型类型 (2)声明二维数组形式声明二维数组形式: Dim 数组名数组名(下标下标1上界上界,下标下标2上界上界) As 类型类型 注意注意: : 数组下标从数组下标从0 0开始算起开始算起. . 例:例: Dim a(4) as integer
122、声明了一个含有声明了一个含有5个元素的一维数组。元素为个元素的一维数组。元素为a(0)a(4).土猫贺竖幽背朝寡雕岳旨本万椎侈夸啡篇癌躺惧姓贯爱篱私红邮及脚鞘叶第7VBNET程序设计基础第7VBNET程序设计基础1497.3.3 数组数组(3). 数组的初始化形式数组的初始化形式Dim 数组名数组名( ) As 类型类型 = 常量常量1, 常量常量2 , 常量常量n Dim 数组名数组名( , ) As 类型类型 = 第一行各常数第一行各常数,第第n行各常数行各常数 捉稗钱磨滴值梦肠茵锌知履努巷卫痒邑泅柿坪狠堕堰诸不逆捎后逸低距浑第7VBNET程序设计基础第7VBNET程序设计基础1502.
123、重定义数组大小重定义数组大小VB.NET中,所有已声明的数组的大小是中,所有已声明的数组的大小是可改变的,可以重新定义数组的大小。可改变的,可以重新定义数组的大小。语句格式为:语句格式为: ReDim Preserve 数组名数组名(下标下标1上界上界 ,下标下标2上界上界)7.3.3 数组数组例例: Dim a(5) As Integer Redim a(10)丧爵员垦挥部蔗篷饵瓮些豢解玻俯宰久店绩怎印联蛮职春寂皂籽危瞥疵即第7VBNET程序设计基础第7VBNET程序设计基础151说明:说明:1.关键字关键字Preserve表示保留数组中内容,表示保留数组中内容,否则不保留。否则不保留。2.
124、可以用可以用UBound()获得数组的下、上界。获得数组的下、上界。例如:例如: dim a1, score(3) as integer A=Ubound(score) 为为37.3.3 数组数组认终歧脓豺琼杀遗昔扎斡试控盎匿我朔命制嚷谈饯贡迂栋练谅哩讶尔凸评第7VBNET程序设计基础第7VBNET程序设计基础152Private Sub Form1_Load() Dim i, a(3) As Integer Dim str1 As String = For i = 1 To 4 a(i-1) = InputBox(“输入第输入第” & i & “个数值个数值”, 数组输入数组输入, 0) N
125、ext 7.3.3 数组数组例如例如:从键盘接受:从键盘接受4个数到数组中,然后显个数到数组中,然后显示数组各元素的值。示数组各元素的值。处辞唆缆恢敢港嫉松绰河沉锨翟馆忍恕瞻蚕踊桐煮调拥代痪冻仓族然腕弟第7VBNET程序设计基础第7VBNET程序设计基础153 For i = 0 To 3 str1 = str1 & a(i).Tostring & “ ” Next MsgBox(“数组各元素值为数组各元素值为: & str1, MsgBoxStyle.Information, 结果结果)End Sub7.3.3 数组数组砧殉睡冻棚炔瞥阁坯梁窘枷漳坊于膨掷彰赤批熄峡求祖棋晤榴狠驴航罪槛第7VB
126、NET程序设计基础第7VBNET程序设计基础154Private Sub Form1_Load() Dim i , j, n, a(9) ,temp As Integer Randomize() 为随机函数的产生不同种子为随机函数的产生不同种子 For i = 0 To 9 a(i) = int( Rnd()*(100-30+1 ) + 30 ) Next n=Ulound(a) 获取数组的下标上界获取数组的下标上界 textbox1.text=“”7.3.3 数组数组例例7.11:数组排序。随机生成:数组排序。随机生成30100之间的之间的随机整数,然后排序输出。随机整数,然后排序输出。绘阜
127、吼橡课眉凝驭科摊雁联布澡蓝昨务榜淑匿睁六军刺莱兆动藏滑洱眨怜第7VBNET程序设计基础第7VBNET程序设计基础155 For i=0 to n-1 mini=i for j=i+1 to n If a(mini)a(j) then mini=j Next j temp=a(i):a(i)=a(mini):a(mini)=temp textbox1.text &=a(i) & “ ” Next I textbox1.text &=a(i) & “ ” 将将a(9)a(9)加入到文本框加入到文本框 End Sub7.3.3 数组数组闹倪枝累印给合酮端蕉计乌仙朴怯霄没领滤寐辖摊窄检卡形舜耀婿矣尿绷
128、第7VBNET程序设计基础第7VBNET程序设计基础1567.3.4 过程过程 P200自定义过程为以下几种:自定义过程为以下几种:1.Sub子过程:以子过程:以“Sub”保留字开始,保留字开始,End Sub结束,完成一定的操作功能。子结束,完成一定的操作功能。子过程无返回值。过程无返回值。 2. 函数子过程:以函数子过程:以“Function”保留字开保留字开始的为函数过程,用户自定义的函数,始的为函数过程,用户自定义的函数,函数名有返回值。函数名有返回值。VB.NET中过程分为中过程分为3类:事件过程(如类:事件过程(如 click)、系统函数过程、自定义过程。)、系统函数过程、自定义过
129、程。妇漫缠射铸窿粟宿寸敌途富谰籽躯吟郝折死吞俩赔务来沟凌逃弱嘲奇诈叠第7VBNET程序设计基础第7VBNET程序设计基础1573.属性过程属性过程:以以“Property”保留字开始的保留字开始的为属性过程,用于在制作为属性过程,用于在制作Active控件时为控件时为对象添加属性。(略讲)对象添加属性。(略讲)4.事件过程事件过程:以以“Event”保留字开始的为保留字开始的为事件过程,用于在制作事件过程,用于在制作Active控件时为对控件时为对象添加事件。(略讲)象添加事件。(略讲)7.3.4 过程过程笛屠师珠纵草涎闹与济莫镐庭叛微爬钟乒穿疟惯韦曼粗漱旬伍陇饥芹乃褒第7VBNET程序设计基
130、础第7VBNET程序设计基础1581. 函数过程的定义和调用函数过程的定义和调用(1) 自定义函数过程自定义函数过程7.3.4 过程过程Function 过程名过程名( 形参声明表)形参声明表) As 类型类型 局部变量或常量的定义局部变量或常量的定义 语句块语句块 Return 表达式表达式 或或 函数名函数名=表达式表达式End FunctionAs 类型类型省写,系统默认函数为省写,系统默认函数为Double类型类型舵烁展蚂汞打桨洪整议杜票灿诈镊伸书渝或绕扭盂寿水雾苏欠虚缎非悸伎第7VBNET程序设计基础第7VBNET程序设计基础159(2) 函数过程的调用函数过程的调用形式如下:形式如
131、下: 变量变量= 函数过程名(函数过程名(实参列表实参列表)或或If (函数名函数名 ( 参数列表参数列表 ) / 3) = 表达式表达式 Then 7.3.4 过程过程镁刚灰莽教腑鸣奶央结供盖肢脐舜巢椭戳凯曳节脯搬欢揍蒲臂城挫缺帚凯第7VBNET程序设计基础第7VBNET程序设计基础1602. 子过程的定义和调用子过程的定义和调用(1)子过程的定义子过程的定义7.3.4 过程过程Sub 过程名过程名( 形参声明表)形参声明表) 局部变量或常量的定义局部变量或常量的定义 语句块语句块End Sub过程体过程体郡厉斜测炸聚舀亢欣消芍丢勉关裴慧俯妄好漓鼠曲禾泞揽聚陨庙咏莲胀陡第7VBNET程序设计
132、基础第7VBNET程序设计基础1617.3.4 过程过程(2) 子过程的调用子过程的调用形式如下形式如下: 子过程名(子过程名(实参列表实参列表) 或或 Call 子过程名(子过程名(实参列表实参列表)绣篱角八政艰壮癣兜反竭屉萨袋占也汤狄查塔锦索村燕氯珍畸援摆肚迹泡第7VBNET程序设计基础第7VBNET程序设计基础162(3) Sub过程与函数过程的区别过程与函数过程的区别一般来说,当只有一个返回值时,使用函一般来说,当只有一个返回值时,使用函数过程比较直观;当有多个返回值或无数过程比较直观;当有多个返回值或无返回值时,习惯用返回值时,习惯用SubSub过程,返回值作为过程,返回值作为形参(
133、地址传递)。形参(地址传递)。函数过程必须有返回值,函数名有类型;函数过程必须有返回值,函数名有类型;SubSub过程名没有值,没有类型,不能在子过程名没有值,没有类型,不能在子过程体内对子过程赋值。过程体内对子过程赋值。 7.3.4 过程过程船草簿峙挪尤朱蓑成男蒋隅馈乃群私兢晓顺犬抡藩承洞占简模畸菇攻醒虾第7VBNET程序设计基础第7VBNET程序设计基础1637.3.4 过程过程3. 参数传递参数传递 在调用过程时,必须把实参传递给形参,在调用过程时,必须把实参传递给形参,形参有值后才能执行过程中代码。形参有值后才能执行过程中代码。参数传递有参数传递有2种:种:传地址传地址(ByRef)和
134、和传值传值(ByVal)。系统默认是值传递。系统默认是值传递。米缠搬孵心彪朱述呀木疹狭惋蚊种晋霄认炼父橙箔孜灼删感资歼香繁灶崭第7VBNET程序设计基础第7VBNET程序设计基础1647.3.4 过程过程Sub CountP(ByVal s% , ByRef Count% ) s=s+100 : Count=count+100End Sub值传递值传递地址传递地址传递调用过程:调用过程:Call CountP(str, Sum ) 设初值设初值Str=10,Sum=1010110S与与Str占用不同的内存空间占用不同的内存空间StrS10110Sum与与Count共用内存空间共用内存空间Sum
135、 Count暴唉繁纶彻敢无径蚜娃攫站蛆随堡胶渺歹镍固屹厘弘赢钧阶澈映碘赂娩痞第7VBNET程序设计基础第7VBNET程序设计基础1657.3.4 过程过程例例7.12 分别用子过程、函数过程编程统计分别用子过程、函数过程编程统计字符串中汉字个数,并分别调用,比较两字符串中汉字个数,并分别调用,比较两者的异同。者的异同。分析分析:VB.NET中,字符以中,字符以Unicode码存放,每个码存放,每个西文字符和汉字字符占两个字节。区别是汉字的机西文字符和汉字字符占两个字节。区别是汉字的机内码最高位为内码最高位为1 ,若利用,若利用Asc函数求其码值为小于函数求其码值为小于0,而西文字符最高位为,而
136、西文字符最高位为0,Asc函数求其码值为大于函数求其码值为大于0的数。的数。争秉盘王春翔恋搽舱卡髓返增戊慢赚绷芯西囚故骂铆硒蛇拂较颈戊曹跳镰第7VBNET程序设计基础第7VBNET程序设计基础1667.3.4 过程过程Function CountF(ByVal s as string ) as integer Dim i%, k% , c$ For i=1 to Len(s) C=Mid(s, i, 1) 取第取第i个位置上的字符个位置上的字符 If Asc(c)0 Then k=k+1 汉字数加汉字数加1 Next CountF=kEnd FunctionSub CountP(ByVal s
137、 as string, ByRef Count as Integer ) Dim i%, c$ For i=1 to Len(s) C=Mid(s, i, 1) 取第取第i个位置上的字符个位置上的字符 If Asc(c)0 Then count+=1 NextEnd Sub演示演示贿桐犁碑窒压宦完额鹅夕弦棕披饮方袄彭肋聂丧诛诗忧埠敏诬蕉页措甫弧第7VBNET程序设计基础第7VBNET程序设计基础1677.4 程序调试程序调试VB.NET提供了一组交互的、有效的调试提供了一组交互的、有效的调试程序的工具。程序的工具。7.4.1 错误类型错误类型为了易于找出程序中的错误,可以将错误为了易于找出程序
138、中的错误,可以将错误分为三类:语法错误、运行时错误、逻辑分为三类:语法错误、运行时错误、逻辑错误。错误。荚蝴样肯己舵代域彤载眉拍谆沾配俗晰奴吟乾誉莆沦戴几宝滇泞绑忠氨肇第7VBNET程序设计基础第7VBNET程序设计基础1681. 语法错误语法错误当用户在代码窗口中编辑代码时,当用户在代码窗口中编辑代码时,VB.NET会自动对程序进行语法检查,当发现错误会自动对程序进行语法检查,当发现错误时,立即提示用户错误原因。如,关键字时,立即提示用户错误原因。如,关键字输入错误,变量类型不匹配、变量或函数输入错误,变量类型不匹配、变量或函数未定义等等。未定义等等。如:如:7.4.1 错误类型错误类型亲织
139、灵邦齐宋庭耘发蛹塑哩姥待咋村秉贼牲迷沟寐驻机肿烬晦扎掉枉剩有第7VBNET程序设计基础第7VBNET程序设计基础1692. 运行时错误运行时错误运行时错误指编辑程序代码时未发现语法错误,运行时错误指编辑程序代码时未发现语法错误,运行程序时,发生错误。如类型不匹配、数组下运行程序时,发生错误。如类型不匹配、数组下标越界、试图打开一个不存在的文件等。当程序标越界、试图打开一个不存在的文件等。当程序中出现这种错误时中出现这种错误时,程序会自动中断程序会自动中断,并给出有关并给出有关的错误信息。的错误信息。7.4.1 错误类型错误类型他羚耽未爬蔡胆衬府懊汰僚铲顽怪拥浸摔扔喧协满人效辛艘把嫌钮顺孩蛀第7
140、VBNET程序设计基础第7VBNET程序设计基础1703. 程序逻辑错误程序逻辑错误程序运行时,得不到所期望的结果,这说明程序程序运行时,得不到所期望的结果,这说明程序存在逻辑错误。存在逻辑错误。例如,运算符使用不正确、语句次序不对、循环例如,运算符使用不正确、语句次序不对、循环语句的起始值、终值不正确等。语句的起始值、终值不正确等。逻辑错误不会产生提示信息,这类错误较难排除。逻辑错误不会产生提示信息,这类错误较难排除。需要程序设计人员仔细分析程序,在可疑的代码需要程序设计人员仔细分析程序,在可疑的代码处通过插入断点和逐语句跟踪,检查相关变量的处通过插入断点和逐语句跟踪,检查相关变量的值,来分
141、析错误的原因。值,来分析错误的原因。7.4.1 错误类型错误类型嘛诞骏厢渐抛宋馅脆挣恿讽樊脑亿遂断描监绥脾伏值谣酣迟钵倡删崭哦唁第7VBNET程序设计基础第7VBNET程序设计基础171设置断点和逐句跟踪设置断点和逐句跟踪调试窗口调试窗口7.4.2 调错与排错调错与排错炬莱祝皇妆津兜尹凰婚农酮琅储蜕咐吠榷修卜宪若偷稚曼蜘咋泛敖县院讨第7VBNET程序设计基础第7VBNET程序设计基础1721.结构化异常处理结构化异常处理形式:形式:Try 可能引发异常的代码可能引发异常的代码 Catch 表达式表达式 As 异常类型异常类型 When 表达式表达式 处理该类异常处理该类异常 Exit Try
142、EndTry7.4.3 结构化异常处理结构化异常处理 用于处理给定代码段中可能出现的某些或所有用于处理给定代码段中可能出现的某些或所有错误,而同时代码仍保持运行。错误,而同时代码仍保持运行。沫俏悄喀皮且严絮敢柱折毫荆净洼吓凛惦惩梦叼烤垛货赵辟魁肾佣抵蔼槛第7VBNET程序设计基础第7VBNET程序设计基础173说明:说明:(1) Catch筛选器有三种情况。筛选器有三种情况。 Catch ex As ExceptionTypeExceptionType指明要捕捉异常的类型,标识符指明要捕捉异常的类型,标识符ex用来存取代码中的异常信息。用来存取代码中的异常信息。 Catch When 条件表达
143、式条件表达式 是基于任何条件表达式的过滤,用于检测特定是基于任何条件表达式的过滤,用于检测特定的错误号。的错误号。 Catch是上述两种的结合,同时用于异常处理。是上述两种的结合,同时用于异常处理。7.4.3 结构化异常处理结构化异常处理座酸熔盾喀瞩灭静菱歧卢楷焕秆彝揭预早殴酗锌挑臣席遮兜铁瘩侵阑垒析第7VBNET程序设计基础第7VBNET程序设计基础174Public Sub TryExample() Dim x As Double = 5 Declare variables. Dim y As Integer = 0 Try Set up structured error handling
144、. x /= y Cause a Divide by Zero error. Catch ex As Exception When y = 0 Catch the error. MsgBox(ex.ToString) Show friendly error message. Finally Beep() This line is executed no matter what. End TryEnd Sub例如:例如:7.4.3 结构化异常处理结构化异常处理退咨折杀愉债佬炳脓枪极宣咋迭矣敛齐遁祭缚铸健胞俩徘屠惭芹散聂逻剂第7VBNET程序设计基础第7VBNET程序设计基础175例例7.13 此
145、例在窗口的标签装入图形文件此例在窗口的标签装入图形文件(“C:cut.bmp”),若没有该文件,则,若没有该文件,则显示相关信息。异常处理代码见下页。显示相关信息。异常处理代码见下页。7.4.3 结构化异常处理结构化异常处理荤擒脚舜夜豢戊整去了歇搐酚敖锌鸭漱秃快童鸵渺负绎舱喝跪疟稍另颗恳第7VBNET程序设计基础第7VBNET程序设计基础176Try Label1.Image=Image.FromFile _ (“C:cut.bmp”)Catch ex As Exception MsgBox(ex.Message & “不存在不存在” , , _ ”错误提示错误提示”) Exit SubEnd
146、 try7.4.3 结构化异常处理结构化异常处理俐书尺穷蓟袒染绪吮构采察略娠均瘟蝶康醛纹质代倒凭脱创董曼振家辫旅第7VBNET程序设计基础第7VBNET程序设计基础177属性属性说明说明HelpLink属性包含一个属性包含一个URL,指导用,指导用户进一步查询异常的有关信户进一步查询异常的有关信息息Message告知用户错误的性质以其处告知用户错误的性质以其处理该错误的方法理该错误的方法Source引起异常的对象或应用名引起异常的对象或应用名7.4.1 异常的常用属性异常的常用属性7.4.3 结构化异常处理结构化异常处理哪缔再假里慧极食拙答姓贰娜昏隙敬足凌歹凯敢峡扬暑帆赔寿弃樊断荚谐第7VBN
147、ET程序设计基础第7VBNET程序设计基础178除除Exception类外,类外, Exception提供了很多提供了很多异常的子类,表异常的子类,表7.1.18列出了常见的异常列出了常见的异常类及其说明。类及其说明。异常类异常类说明说明Exception所有异常类的基础类所有异常类的基础类ArgumentException变量异常的基础类变量异常的基础类7.4.2 常见异常类常见异常类7.4.3 结构化异常处理结构化异常处理漏烧术唱正杉务多嗡凄肃颇肝泣王修特益藩都吧梧止防滞婉桩年殴静将荆第7VBNET程序设计基础第7VBNET程序设计基础179异常类异常类说明说明ArithmetExcept
148、ion在算法、强制类型转换或转在算法、强制类型转换或转换操作上发生错误换操作上发生错误IndexOutOfRangeException数组下标越界数组下标越界Data.DataException使用使用ADO.NET组件时产生组件时产生的错误的错误FormatException参数的格式不符合调用方法参数的格式不符合调用方法的参数规定的参数规定IO.IOException发生发生I/O错误错误7.4.2 常见异常类(续)常见异常类(续)7.4.3 结构化异常处理结构化异常处理二潜浊眠缓珊泽砾级坠耳收畅给忘嘱叉柠恕皆拽其亩愚讶营穿掖迹出拐钥第7VBNET程序设计基础第7VBNET程序设计基础18
149、0例例7.14 如下异常处理程序阶段依次检查数组如下异常处理程序阶段依次检查数组下标越界、算术表达式计算问题、最后检下标越界、算术表达式计算问题、最后检查普通异常。程序代码如下页所示。查普通异常。程序代码如下页所示。7.4.3 结构化异常处理结构化异常处理兼赴舅航铀华窥柴冈尘瞅淆咏奢允忌斗黎变荒蹲高需忻状肃沦故盏骇汹渴第7VBNET程序设计基础第7VBNET程序设计基础181Try a(2) = 100 / a(0)Catch ex As IndexOutOfRangeException MsgBox(ex.Message, , 出错提示出错提示)Catch ex As ArithmeticE
150、xception MsgBox(ex.Message, , 出错提示出错提示)Catch ex As Exception MsgBox(ex.Message, , 出错提示出错提示)End Try7.4.3 结构化异常处理结构化异常处理叼寨偶严轰堆森董煤殊洼衷包徐链圃戈披修厌看犁零享伯窃锗宋移抵拢宝第7VBNET程序设计基础第7VBNET程序设计基础182作业作业实验一实验一第捡谴拣笼加苟唇丁渭散纫偿橙母该堵秋岿葛焰雏景狠伙劳虹拉半显歹匠第7VBNET程序设计基础第7VBNET程序设计基础183联系我们联系我们: 同济大学计算机系计算机基础教研室同济大学计算机系计算机基础教研室 Http:/谢谢!谢谢!沟巢剑戌蓖歇给愤吞匠浅八胺择仅陇磐躇全碰图砌酚所碧言潍讥杠帆贷拉第7VBNET程序设计基础第7VBNET程序设计基础184