第1章 引言 1
1.1 程序设计语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 面向过程的高级语言 2
1.1.4 面向对象的高级语言 2
1.1.5 程序的执行方式和运行环境 3
1.2 面向对象的基本概念 4
1.2.1 对象与类 4
1.2.2 属性(Property) 5
1.2.3 方法(Method) 5
1.2.4 事件(Event) 6
1.2.5 PME模型 6
1.3 Visual Basic简介 7
1.3.1 Visual Basic发展史 7
1.3.2 Visual Basic的特点 8
1.3.3 .NET Framework框架 9
1.3.4 Visual Basic 2010中文版的安装与启动 10
1.3.5 获得帮助信息 17
习题1 19
第2章 程序设计入门 20
2.1 VisualBasic集成开发环境 20
2.1.1 新建项目 21
2.1.2 “工具箱”窗口 22
2.1.3 “解决方案资源管理器”窗口 23
2.1.4 “属性”窗口 24
2.1.5 “窗体设计器”窗口 25
2.1.6 “代码编辑器”窗口 27
2.1.7 集成环境窗口的布局 30
2.1.8 退出Visual Basic集成环境 31
2.2 程序的设计、运行和中断状态 31
2.3 窗体(Form) 33
2.3.1 窗体模块的创建 33
2.3.2 窗体的常用属性 33
2.3.3 通过程序代码为对象的属性赋值 37
2.3.4 窗体对象的常用方法 38
2.3.5 窗体对象的常用事件 39
2.4 编写事件过程 40
2.4.1 事件处理过程 40
2.4.2 使用“代码编辑器”窗口 41
2.4.3 一个“最简单”的程序 42
2.4.4 两个简单程序 43
2.4.5 事件驱动机制 44
2.5 按钮(Button)控件 45
2.5.1 按钮的常用属性 45
2.5.2 按钮的Hide和Show方法 47
2.5.3 按钮的Click事件和DoubleClick事件 47
2.6 文本框(TextBox)控件 49
2.6.1 文本框的常用属性 49
2.6.2 文本框的常用方法 51
2.6.3 文本框的常用事件 52
2.7 标签(Label)控件 52
2.7.1 标签的常用属性 53
2.7.2 标签的Hide和Show方法 53
2.7.3 标签的常用事件 53
2.8 Visual Basic语法规则 54
2.9 控制台程序 57
2.9.1 创建控制台项目 58
2.9.2 Console类 59
2.10 开发应用程序的主要步骤 62
2.11 项目的管理和可执行文件的生成 62
2.11.1 项目中的结构要素 62
2.11.2 项目中的模块与文件 63
2.11.3 向项目中添加模块 65
2.11.4 保存项目 66
2.11.5 打开项目 66
2.11.6 移除模块 67
2.11.7 生成可执行文件 67
习题2 68
第3章 数据类型、常量与变量 71
3.1 基本数据类型 71
3.1.1 数值型 71
3.1.2 Char(字符型)和String(字符串型) 72
3.1.3 Boolean(逻辑型和布尔型) 72
3.1.4 Date(日期时间型) 72
3.2 直接常量 73
3.2.1 整型常量 73
3.2.2 实数常量 73
3.2.3 字符串型常量 74
3.2.4 逻辑型常量 74
3.2.5 日期时间型常量 74
3.2.6 类型字符与类型符号 75
3.3 变量 75
3.3.1 变量命名规则 76
3.3.2 定义变量 76
3.3.3 变量的赋值与取值 80
3.3.4 变量的同名问题 83
3.3.5 通用对象型(Object和Control) 85
3.3.6 类型转换 86
3.3.7 Option设置语句 88
3.4 符号常量 89
3.5 枚举常量与枚举类型 90
习题3 92
第4章 运算符与表达式 96
4.1 运算符 96
4.1.1 算术运算符 96
4.1.2 比较运算符 97
4.1.3 字符串运算符 98
4.1.4 对象型比较运算符Is和IsNot 100
4.1.5 逻辑运算符 101
4.1.6 移位运算符 105
4.1.7 复合赋值运算符 106
4.2 表达式 107
4.2.1 表达式的求解顺序 107
4.2.2 运算符的优先级 108
4.2.3 正确编写表达式 109
4.2.4 表达式求值 111
习题4 112
第5章 控制结构 115
5.1 If语句 116
5.1.1 单行形式的If…Then…语句 116
5.1.2 块形式的If…Then…End If语句 116
5.1.3 单行形式的If…Then…Else…语句 117
5.1.4 块形式的If…Then…Els…End If语句 117
5.1.5 If语句的嵌套 118
5.1.6 If…Then…ElseIf…End If语句 121
5.2 SelectCase语句 123
5.2.1 SelectCase语句的语法结构 123
5.2.2 关于“匹配”的定义 124
5.2.3 Exit Select语句 125
5.3 Do…Loop语句 126
5.3.1 Do While…Loop形式 126
5.3.2 Do…Loop While形式 127
5.3.3 Do Until…Loop形式 128
5.3.4 Do…Loop Until形式 129
5.3.5 Do…Loop形式 129
5.3.6 Exit Do语句 129
5.3.7 Continue Do语句 130
5.4 For…Next语句 130
5.4.1 For…Next语句 130
5.4.2 Exit For语句和Continue For语句 131
5.4.3 For…Next循环的“终止值”和“步长”问题 132
5.5 While…Wend语句 132
5.6 循环的嵌套 132
5.6.1 嵌套的规则 132
5.6.2 Exit Do和Exit For语句在循环嵌套时的作用 133
5.6.3 Continue Do和Continue For语句在循环嵌套时的作用 134
5.6.4 循环嵌套的执行流程 134
5.7 GoTo语句 135
5.8 With语句 136
5.9 控制结构的应用 137
习题5 149
第6章 过程 154
6.1 Sub过程(子过程) 154
6.1.1 定义Sub过程 154
6.1.2 调用Sub过程 156
6.1.3 通用过程的重名问题 157
6.1.4 过程调用时的执行流程 158
6.2 Function过程(函数过程) 159
6.2.1 定义Function过程 159
6.2.2 调用Function过程 160
6.3 过程的参数传递方式 164
6.3.1 按值传递参数(ByVal) 164
6.3.2 按地址传递参数(ByRef) 164
6.4 可选参数(Optional) 167
6.5 命名参数 168
6.6 递归 169
6.7 过程的重载 171
6.7.1 过程重载规则 171
6.7.2 重载过程的调用 172
6.8 委托 172
习题6 174
第7章 数组与集合 180
7.1 数组概述 180
7.2 数组定义与使用 180
7.2.1 一维数组 181
7.2.2 二维数组 182
7.2.3 多维数组 183
7.2.4 为数组赋初值 186
7.3 数组的重定义 186
7.3.1 ReDim语句 186
7.3.2 Preserve关键字 187
7.3.3 空数组 187
7.4 数组的其他操作 191
7.4.1 数组函数与语句 191
7.4.2 数组的属性与方法 192
7.5 对象型数组 193
7.6 数组作参数与返回值 194
7.6.1 数组作参数 194
7.6.2 不定数量的参数(ParamArray) 199
7.6.3 函数返回数组 200
7.7 集合 201
7.7.1 创建集合对象 202
7.7.2 添加集合元素 202
7.7.3 移除集合元素 202
7.7.4 引用集合元素 203
7.8 基于集合的循环语For Each…Next 204
习题7 206
第8章 结构体与类 212
8.1 结构体 212
8.1.1 定义结构体类型 212
8.1.2 结构体类型变量和数组 213
8.1.3 常量成员与共享成员 215
8.1.4 结构体类型的过程参数 216
8.1.5 函数返回结构体类型值 217
8.2 结构体的属性与方法 219
8.2.1 结构体成员的访问级别 219
8.2.2 结构体的属性 220
8.2.3 结构体的方法 222
8.2.4 构造函数 226
8.3 常用预定义结构体类型 226
8.3.1 Point结构体 226
8.3.2 Size结构体 227
8.3.3 Rectangle结构体 228
8.4 结构体的嵌套 228
8.5 类 230
8.5.1 定义类 231
8.5.2 创建对象 236
8.5.3 构造函数与析构函数 238
8.5.4 类定义时的关键字 240
8.5.5 类与结构体的异同 241
8.6 运算符重载 242
8.6.1 定义运算符重载 243
8.6.2 使用运算符重载 244
8.7 用类实现链表结构 246
8.7.1 定义节点类 246
8.7.2 创建链表 247
8.7.3 遍历链表 249
8.7.4 插入节点 249
8.7.5 删除节点 250
8.8 自定义事件 252
8.9 接口 255
习题8 256
第9章 常用控件 260
9.1 图形与图像类控件 260
9.1.1 直线形状(LineShape)控件 260
9.1.2 椭圆形状(OvalShape)控件和矩形形状 261
(RectangleShape)控件 261
9.1.3 图片框(PictureBox)控件 264
9.2 滚动条输入控件 265
9.2.1 滚动条(HScrollBar和VScrollBar)控件 265
9.2.2 跟踪条(TraceBar)控件 267
9.3 提供选项的控件 268
9.3.1 复选框(CheckBox)控件 268
9.3.2 单选框(RadioButton)控件 270
9.3.3 列表框(ListBox)控件 273
9.3.4 复选列表框(CheckedListBox)控件 277
9.3.5 组合框(ComboBox)控件 277
9.4 容器类控件 278
9.4.1 组框(GroupBox)控件 278
9.4.2 面板(Panel)控件 279
9.4.3 流动布局面板(FlowLayoutPanel)控件 280
9.4.4 表格布局面板(TableLayoutPanel)控件 280
9.4.5 分割容器(SplitContainer)控件 282
9.4.6 选项卡(TabControl)控件 283
9.5 其他控件 284
9.5.1 进度条(ProgressBar)控件 284
9.5.2 数字增减(NumericUpDown)控件 284
9.5.3 定时器(Timer)控件 285
9.5.4 月历(MonthCalendar)控件 287
9.5.5 日期选择(DateTimePicker)控件 288
9.6 控件的停靠与锚定 289
9.6.1 边距与空白 289
9.6.2 锚定 290
9.6.3 停靠 291
9.7 控件的键盘输入焦点与Tab键次序 292
9.8 鼠标与键盘事件 293
9.8.1 鼠标事件 294
9.8.2 键盘事件 295
9.8.3 SendKeys类 297
9.9 菜单 298
9.9.1 MenuStrip控件 299
9.9.2 ToolStripMenuItem控件 299
9.9.3 菜单的创建与修改 301
9.9.4 快捷菜单 302
9.10 工具栏与状态栏 303
9.10.1 工具栏 304
9.10.2 状态栏 305
9.11 运行时创建控件 306
9.11.1 动态创建控件 306
9.11.2 设计时为动态控件编写事件过程 306
9.11.3 为动态控件关联事件过程 307
9.11.4 移除动态控件 307
习题9 310
第10章 内部函数 313
10.1 数学函数 313
10.1.1 数学函数 313
10.1.2 取整函数 314
10.1.3 随机值函数 315
10.2 字符串函数 316
10.2.1 常用字符串函数 316
10.2.2 字符串函数应用举例 318
10.2.3 Format函数 320
10.3 日期与时间函数 327
10.4 类型测试函数 331
10.5 分支函数 334
10.6 预定义对话框函数 335
10.6.1 MsgBox消息框函数 335
10.6.2 InputBox输入框函数 337
10.7 My功能 338
习题10 339
第11章 绘图 345
11.1 颜色 346
11.1.1 颜色的表示方式 346
11.1.2 Color结构体的成员 349
11.1.3 各类对象的颜色属性 351
11.2 画笔 352
11.2.1 Pen类 352
11.2.2 Pens类 353
11.3 画刷 354
11.3.1 Brush类 354
11.3.2 SolidBrush类 354
11.3.3 TextureBrush类 354
11.3.4 LinearGradientBrush类 354
11.3.5 HatchBrush类 354
11.3.6 Brushes类 356
11.4 图像 357
11.4.1 Bitmap类 357
11.4.2 Metafile类 358
11.5 字体 359
11.5.1 FontFamily类 359
11.5.2 FontStyle枚举类型 359
11.5.3 Font类 360
11.5.4 GraphicsUnit枚举类型 360
11.6 绘制图形、图像与文字 360
11.6.1 Graphics类 360
11.6.2 DrawLine(画直线段)方法 361
11.6.3 DrawRectangle(画矩形)方法 362
11.6.4 DrawArc(画圆弧和椭圆弧)方法 362
11.6.5 DrawEllipse(画圆和椭圆)方法 363
11.6.6 DrawPie(画扇形)方法 363
11.6.7 DrawImage(绘制图像)方法 363
11.6.8 DrawString(绘制文本)方法 364
11.6.9 绘制填充图形 367
习题11 376
第12章 多模块程序设计与调试 378
12.1 项目属性设置 378
12.1.1 设置启动对象 378
12.1.2 窗体的生命周期 379
12.1.3 窗体生命周期中的事件 381
12.1.4 多模块之间的数据共享 383
12.1.5 程序的终止 384
12.2 MDI界面 385
12.3 对话框窗体 387
12.3.1 窗体的ShowDialog方法 387
12.3.2 窗体的DialogResult属性 388
12.3.3 按钮的DialogResult属性 388
12.4 文件与模块结构 389
12.4.1 文件与模块的关系 389
12.4.2 命名空间 391
12.5 程序的调试 395
12.5.1 错误的种类 395
12.5.2 调试菜单与调试工具栏 395
12.5.3 中断状态与断点 397
12.5.4 调试窗口 398
12.6 捕获并处理运行时错误 400
12.6.1 Err对象 400
12.6.2 On Error语句 400
12.6.3 Resume语句 400
12.6.4 错误的捕获与处理 401
12.6.5 Err对象的Raise方法和Clear方法 402
12.7 结构化异常处理 402
12.7.1 Try…Catch…Finally语句 402
12.7.2 Exception类 403
12.7.3 Throw语句 404
习题12 404
第13章 文件操作 406
13.1 文件操作概述 406
13.1.1 文件操作的必要性 406
13.1.2 文件的标识方法 406
13.2 顺序访问文件 407
13.2.1 打开顺序文件 408
13.2.2 关闭文件 409
13.2.3 写顺序文件 409
13.2.4 读顺序文件 410
13.2.5 关于顺序文件的几点说明 411
13.3 随机访问文件 414
13.4 二进制文件 421
13.5 三种文件读写方式的异同 424
13.6 文件操作函数与语句 425
习题13 433
附录A 习题参考答案 440
习题2(程序设计入门) 440
习题3(数据类型、常量与变量) 440
习题4(运算符与表达式) 441
习题5(控制结构) 442
习题6(过程) 448
习题7(数组与集合) 450
习题8(结构体与类) 454
习题9(内部控件) 454
习题10(内部函数) 457
习题11(绘图) 460
习题12(多模块程序设计与调试) 463
习题13(文件操作) 463
附录B ASCII码字符集(0~127) 466
附录C 常用控件对象的命名前缀约定 468
附录D 变量的命名前缀约定 469
附录E Keys枚举常量 470
附录F SendKeys键码 473
附录G Visual Basic.NET与Visual Basic 6的主要不同 474
附录H 知识点索引 476