21 世纪高职高专规划教材·计算机系列
Visual Basic .NET 程序设计教程
李兰友 王春娴 郑志荣 编著
清华大 学 出 版 社
北京交通大学出版社
·北京·
21 世纪高职高专规划教材·计算机系列
编审委员会成员名单
主 任 委 员 李兰友 边奠英
副主任委员 周学毛 崔世钢 王学彬 丁桂芝 赵 伟
韩瑞功 汪志达
委 员 (按姓名笔画排序)
马 辉 万志平 万振凯 王永平 王建明
尤晓
丰继林 尹绍宏 左文忠 叶 华
叶 伟 叶建波 付晓光 付慧生 冯平安
江 中 佟立本 刘 炜 刘建民 刘 晶
曲建民 孙培民 邢素萍 华铨平 吕新平
陈国震 陈小东 陈月波 李长明 李 可
李志奎 李 琳 李源生 李群明 李静东
邱希春 沈才梁 宋维堂 汪 繁 吴学毅
张文明 张权范 张宝忠 张家超 张 琦
金忠伟 林长春 林文信 罗春红 苗长云
竺士蒙 周智仁 孟德欣 柏万里 宫国顺
柳 炜 钮 静 胡敬佩 姚 策 赵英杰
高福成 贾建军 徐建俊 殷兆麟 唐 健
黄 斌 章春军 曹豫莪 程 琪 韩广峰
韩其睿 韩 劼 裘旭光 童爱红 谢 婷
曾瑶辉 管致锦 熊锡义 潘玫玫 薛永三
操静涛 鞠洪尧
内 容 简 介
本书主要介绍 Visual Basic .NET应用程序设计技术。内容包括:Visual Basic .NET 集成环境,常用Windows
窗体控件,工程界面设计,Visual Basic .NET 程序设计基础,图形、图像处理,数据库应用及应用程序设计
实践等。完成本书的学习和实践后,学生可以在Visual Basic .NET 的应用程序开发技能方面得到较大提高。
本书可以作为高职、高专院校计算机程序设计语言课程教科书,亦适合于工程技术人员参考。
版权所有,翻印必究。举报电话:010-62782989 13501256678 13801310933
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
本书防伪标签采用特殊防伪技术,用户可通过在图案表面涂抹清水,图案消失,水干后图案复现;或将
表面膜揭下,放在白纸上用彩笔涂抹,图案在白纸上再现的方法识别真伪。
图书在版编目(CIP)数据
Visual Basic .NET 程序设计教程 / 李兰友 , 王春娴 , 郑志荣编著 . — 北京 : 清华大
学出版社 ; 北京交通大学出版社, 2005.5
(21 世纪高职高专规划教材·计算机系列)
ISBN 7-81082-515-1
Ⅰ.V… Ⅱ.① 李… ② 王… ③ 郑… Ⅲ.BASIC 语言-程序设计-高等学校;技
术学校-教材 Ⅳ.TP312
中国版本图书馆 CIP 数据核字(2005)第 031130 号
责任编辑:韩 乐 特邀编辑:朱 宇
出 版 者:清 华 大 学 出 版 社 邮编:100084 电话:010-62776969
北京交通大学出版社 邮编:100044 电话:010-51686414
印 刷 者:北京东光印刷厂
发 行 者:新华书店总店北京发行所
开 本:185×260 印张:15.25 字数:381 千字
版 次:2005 年 5 月第 1 版 2005 年 5 月第 1 次印刷
书 号:ISBN 7-81082-515-1 / TP·192
印 数:1~5000 册 定价:21.00 元
本书如有质量问题,请向北京交通大学出版社质监组反映。对您的意见和批评,我们表示欢迎和感谢。
投诉电话:010-51686043,51686008;传真:010-62225406;E-mail:press@center.bjtu.edu.cn。
出 版 说 明
高职高专教育是我国高等教育的重要组成部分,它的根本任务是培养生产、建设、管理
和服务第一线需要的德、智、体、美全面发展的高等技术应用型专门人才,所培养的学生在
掌握必要的基础理论和专业知识的基础上,应重点掌握从事本专业领域实际工作的基本知识
和职业技能,因而与其对应的教材也必须有自己的体系和特色。
为了适应我国高职高专教育发展及其对教学改革和教材建设的需要,在教育部的指导下,
我们在全国范围内组织并成立了“21 世纪高职高专教育教材研究与编审委员会”(以下简称
“教材研究与编审委员会”)。“教材研究与编审委员会”的成员单位皆为教学改革成效较
大、办学特色鲜明、办学实力强的高等专科学校、高等职业学校、成人高等学校及高等院校
主办的二级职业技术学院,其中一些学校是国家重点建设的示范性职业技术学院。
为了保证规划教材的出版质量,“教材研究与编审委员会”在全国范围内选聘“21 世纪
高职高专规划教材编审委员会”(以下简称“教材编审委员会”)成员和征集教材,并要求
“教材编审委员会”成员和规划教材的编著者必须是从事高职高专教学第一线的优秀教师或
生产第一线的专家。“教材编审委员会”组织各专业的专家、教授对所征集的教材进行评选,
对列选教材进行审定。
目前,“教材研究与编审委员会”计划用 2~3 年的时间出版各类高职高专教材 200 种,
范围覆盖计算机应用、电子电气、财会与管理、商务英语等专业的主要课程。此次规划教材
全部按教育部制定的“高职高专教育基础课程教学基本要求”编写,其中部分教材是教育部
《新世纪高职高专教育人才培养模式和教学内容体系改革与建设项目计划》的研究成果。此
次规划教材编写按照突出应用性、实践性和针对性的原则编写并重组系列课程教材结构,力
求反映高职高专课程和教学内容体系改革方向;反映当前教学的新内容,突出基础理论知识
的应用和实践技能的培养;适应“实践的要求和岗位的需要”,不依照“学科”体系,即贴
近岗位,淡化学科;在兼顾理论和实践内容的同时,避免“全”而“深”的面面俱到,基础
理论以应用为目的,以必要、够用为度;尽量体现新知识、新技术、新工艺、新方法,以利
于学生综合素质的形成和科学思维方式与创新能力的培养。
此外,为了使规划教材更具广泛性、科学性、先进性和代表性,我们希望全国从事高职
高专教育的院校能够积极加入到“教材研究与编审委员会”中来,推荐“教材编审委员会”
成员和有特色、有创新的教材。同时,希望将教学实践中的意见与建议及时反馈给我们,以
便对已出版的教材不断修订、完善,不断提高教材质量,完善教材体系,为社会奉献更多更
新的与高职高专教育配套的高质量教材。
此次所有规划教材由全国重点大学出版社——清华大学出版社与北京交通大学出版社联
合出版,适合于各类高等专科学校、高等职业学校、成人高等学校及高等院校主办的二级职
业技术学院使用。
21 世纪高职高专教育教材研究与编审委员会
2005 年 3 月
前 言
Visual Basic .NET 是 Microsoft 公司近年推出的一种核心编程语言,它能快捷、方便地开
发图形设计、图像处理、多媒体技术、数据库技术及网络技术的Windows 应用程序。本书以
Visual Studio .NET 为开发平台,以实例为中心,重点介绍使用Visual Basic .NET 开发 Windows
应用程序的方法和技术。
全书共分 11 章。第 1~2 章介绍 Visual Basic .NET 集成开发环境、常用Windows 窗体控
件及应用控件;第 3 章介绍 Windows 应用程序界面设计方法及实例;第 4~5 章介绍 Visual
Basic .NET 语言程序设计基础及程序流控制;第6~7 章介绍数组、结构和过程;第8 章介绍
如何使用 Visual Basic .NET 进行图形设计;第 9 章介绍 Visual Basic .NET 在图像处理方面的
技术及应用实例;第 10 章介绍数据库应用;第 11 章是应用程序设计实践,介绍包括文本编
辑器、管理统计图、动画设计及小型图案自动生成系统设计等 4 个应用程序实例,可作为学
生综合设计练习或实训参考。本书所提 供 的程序实例简明易读, 所有程序均在 Visual
Basic .NET 环境下上机通过。
本书可作为高职、高专院校计算机程序设计语言课程教科书,亦适合于工程技术人员参
考。
参加编写工作的还有刘东鹏、庞冠琪、刘培、高魁钧、齐猛、成玲等,宋伟、李体新、
马文辉等进行了程序调试。由于作者水平有限,不当之处敬请读者指正。
作 者
2005.4
目 录
第 1 章 Visual Basic .NET 基础 ·······················································································1
1.1 Visual Basic .NET 的新发展 ·················································································1
1.1.1 新特性·········································································································1
1.1.2 集成开发环境的新改进····················································································2
1.2 Visual Studio 集成环境 ························································································3
1.2.1 标题栏、菜单栏和工具栏·················································································3
1.2.2 主要窗口······································································································6
1.3 创建应用程序··································································································· 10
1.3.1 创建一个应用程序的步骤··············································································· 10
1.3.2 项目文件···································································································· 17
1.4 帮助菜单·········································································································· 18
1.5 面向对象的程序设计························································································· 21
1.5.1 .NET 框架结构····························································································· 21
1.5.2 对象的概念································································································· 22
练习题 ····················································································································· 23
第 2 章 窗体和常用控件 ································································································ 25
2.1 窗体················································································································· 25
2.1.1 创建窗体···································································································· 26
2.1.2 属性·········································································································· 27
2.1.3 常用事件···································································································· 30
2.1.4 常用方法···································································································· 30
2.1.5 将控件加入窗体··························································································· 32
2.2 Button 控件······································································································· 33
2.3 文本控件·········································································································· 35
2.3.1 Label 控件 ·································································································· 35
2.3.2 TextBox 控件······························································································· 35
2.4 选择控件·········································································································· 38
2.4.1 RadioButton 控件和 GroupBox 控件··································································· 38
2.4.2 CheckBox 控件 ···························································································· 40
2.5 列表选择控件··································································································· 42
2.5.1 ListBox 控件······························································································· 42
2.5.2 ComboBox 控件 ··························································································· 44
2.6 图形显示控件和定时器····················································································· 46
2.6.1 PictureBox 控件···························································································· 46
2.6.2 定时控件···································································································· 47
I
2.7 对话框·············································································································· 48
2.7.1 消息框······································································································· 49
2.7.2 文件打开和保存对话框·················································································· 49
2.7.3 【颜色】对话框··························································································· 51
2.7.4 【字体】对话框··························································································· 52
2.7.5 【打印】对话框··························································································· 54
练习题 ····················································································································· 55
第 3 章 项目界面设计···································································································· 60
3.1 按钮界面·········································································································· 60
3.2 菜单界面·········································································································· 65
3.3 单选按钮界面··································································································· 67
3.4 MDI 界面 ········································································································· 69
3.4.1 建立 MDI 父窗体·························································································· 70
3.4.2 建立 MDI 子窗体·························································································· 71
3.5 工具栏界面······································································································· 73
3.6 状态栏界面······································································································· 76
练习题 ····················································································································· 79
第 4 章 程序设计基础···································································································· 82
4.1 标识符命名······································································································· 82
4.2 数据类型·········································································································· 82
4.2.1 基本数据类型······························································································ 82
4.2.2 用户自定义数据类型····················································································· 83
4.3 常量················································································································· 84
4.3.1 直接常量···································································································· 84
4.3.2 符号常量···································································································· 85
4.4 变量················································································································· 86
4.5 运算符和表达式································································································ 88
4.5.1 算术运算符和算术表达式··············································································· 88
4.5.2 字符串运算符和字符串表达式········································································· 89
4.5.3 关系运算符和关系表达式··············································································· 89
4.5.4 逻辑运算符和逻辑表达式··············································································· 89
4.5.5 运算符的优先级··························································································· 90
4.6 函数················································································································· 90
4.6.1 数学函数···································································································· 90
4.6.2 取整函数···································································································· 91
4.6.3 转换函数···································································································· 92
4.6.4 数值计算函数······························································································ 93
4.6.5 字符操作函数······························································································ 94
4.6.6 日期和时间函数··························································································· 96
II
练习题 ····················································································································· 97
第 5 章 基本流程控制···································································································· 98
5.1 语句················································································································· 98
5.2 顺序结构·········································································································· 99
5.2.1 基本语句···································································································· 99
5.2.2 InputBox 函数···························································································· 101
5.2.3 MsgBox 函数····························································································· 102
5.3 选择结构········································································································ 103
5.3.1 行 If 语句 ································································································· 104
5.3.2 块 If 语句 ································································································· 104
5.3.3 If …Then…ElseIf 语句·················································································· 106
5.3.4 Select Case 语句 ························································································· 107
5.3.5 GoTo 语句································································································ 109
5.4 循环结构········································································································ 110
5.4.1 For …Next 循环语句···················································································· 110
5.4.2 Do …Loop 循环·························································································· 112
5.4.3 While …End While 语句 ················································································ 115
5.4.4 循环嵌套·································································································· 115
练习题 ··················································································································· 117
第 6 章 数组和结构 ····································································································· 118
6.1 数组··············································································································· 118
6.1.1 定长数组·································································································· 118
6.1.2 动态数组·································································································· 122
6.2 结构··············································································································· 123
6.2.1 结构类型的声明························································································· 123
6.2.2 结构变量的声明························································································· 124
练习题 ··················································································································· 125
第 7 章 过程················································································································ 127
7.1 过程的定义与调用 ·························································································· 127
7.1.1 Sub 过程 ·································································································· 127
7.1.2 Function 过程 ···························································································· 129
7.2 过程参数········································································································ 131
7.2.1 参数传递方式···························································································· 131
7.2.2 可选参数和参数数组··················································································· 134
练习题 ··················································································································· 136
第 8 章 图形设计········································································································· 138
8.1 图形环境设置································································································· 138
8.1.1 图形装置接口···························································································· 138
8.1.2 画笔········································································································ 140
III