第1章 Visual Studio.NeT起步 1
1.1 安装Visual Studio.NET 2
1.2 检验Visual Basic.NET的安装 6
1.2.1 启动Visual Studio.NET 6
1.2.2 Visual Basic.NET集成开发环境 7
1.2.3 将对象从工具箱移到窗体中 9
1.2.4 更改属性值 9
1.3 运行你的第一个程序 9
1.3.1 生成与编译 9
1.3.2 运行程序的其他方法 10
1.4 结束Visual Basic.NET编程会话 10
1.5 小结 10
1.6 复习题 11
第2章 面向对象编程基础 12
2.1 计算机编程简史 13
2.1.1 编程语言 13
2.1.2 结构化编程 17
2.1.3 OOP 18
2.2 使用OOP编程的一个例子 20
2.2.1 Design窗口 22
2.2.2 属性窗口 22
2.2.3 往窗体中添加对象 24
2.3 编译第一个程序 26
2.4 运行Visual Basic.NET程序 27
2.5 往程序中添加代码 28
2.5.2 调用对象的方法 30
2.5.1 点运算符 30
2.5.3 Me关键字 32
2.5.4 示例程序试验 32
2.6 小结 33
2.7 复习题 34
第3章 编程思想 35
3.1 我的烦恼 36
3.2 算法 36
3.3 5个编程步骤 37
3.3.1 初始化步骤 37
3.3.2 输入步骤 37
3.3.6 每一个程序都需要5个步骤吗? 38
3.3.5 清理步骤 38
3.3.4 输出步骤 38
3.3.3 处理步骤 38
3.4 横向细化 39
3.4.1 Initialization步骤的横向细化 39
3.4.2 伪代码 39
3.5 UML的概念 40
3.5.1 UML简史 40
3.5.2 UML图 40
3.5.3 OOA、OOD和OOP 41
3.6 UML类图 41
3.6.1 类特性(属性) 42
3.6.2 类方法(操作) 43
3.7 小结 44
3.8 复习题 44
第4章 数据类型和数字变量 46
4.1 Visual Basic.NET的数据类型 47
4.2 Visual Basic.NET数据类型的详述 48
4.2.1 Boolean数据类型 48
4.2.2 Byte数据类型 49
4.2.3 Char数据类型 49
4.2.4 Decimal数据类型 50
4.2.5 Double和Single数据类型 50
4.2.6 Integer、Long和Short数据类型 50
4.2.7 Object数据类型 51
4.2.8 String数据类型 51
4.2.9 User Defined数据类型 51
4.3.2 关键字 52
4.3.1 变量名 52
4.3 变量 52
4.3.3 Dim语句:定义变量 53
4.4 幕后:Visual Basic.NET符号表 54
4.4.1 符号表 54
4.4.2 lvalue和rvalue 55
4.4.3 操作数与运算符 56
4.4.4 Visual Basic.NET如何处理一个赋值语句 56
4.5 Inspector程序 57
4.6 Visual Basic.NET程序错误 59
4.7 一个简单的数学程序 60
4.7.1 数据类型转换 61
4.7.2 Visual Basic.NET库 61
4.8 二进制数字 62
4.9 小结 63
4.10 复习题 64
第5章 子例程和函数 65
5.1 子例程 66
5.1.1 为什么要使用子例程 66
5.1.2 编写简单的子例程 66
5.1.3 调用子例程 67
5.1.4 子例程参数 68
5.1.5 带有子例程参数的示例程序 68
5.2 函数 77
5.3 小结 78
5.4 复习题 79
第6章 字符串变量 81
6.1.2 操作Visual Basic.NET字符串数据 82
6.1 字符串 82
6.1.1 文本框和字符串 82
6.1.3 字符串串联 83
6.1.4 字符串长度 84
6.1.5 子字符串运算 85
6.1.6 InStr()函数 88
6.1.7 直接使用String数据类型 88
6.2 在Visual Basic.NET中使用String类 89
6.2.1 Length方法 89
6.2.2 Concat方法 89
6.2.3 SubString方法 91
6.2.4 使用SubString方法模拟Left()和Right() 92
6.2.5 子字符串搜索 92
6.2.6 查找给定字符串位置所存储字符——Chars方法 93
6.2.7 比较字符串——Compare方法 94
6.2.8 Insert字符串方法 96
6.2.9 Replace字符串方法 96
6.3 其他String方法 97
6.4 小结 97
6.5 复习题 97
第7章 数组 100
7.1 用数组组织数据 101
7.1.1 数组元素 101
7.1.2 数组索引 102
7.1.3 一个使用字符串数组的简单程序例子 102
7.1.4 程序细化 103
7.2 更改数组基本索引 104
7.3 动态数组 105
7.3.1 ReDim运行时使用的细微特征 106
7.3.2 强行操作时的错误 107
7.3.3 Preserve关键字 107
7.4 多维数组 108
7.5 大于二维的多维数组 110
7.6 确定数组大小 111
7.7 小结 112
7.8 复习题 112
第8章 变量的作用域与生存期 115
8.1 作用域 116
8.2 块作用域 119
8.3 模块作用域 120
8.3.2 Dim、Private和模块作用域 121
8.3.1 类定义 121
8.4 命名空间 122
8.4.1 命名空间的目的 122
8.4.2 命名空间作用域 123
8.4.3 在窗体之间共享变量 125
8.5 生存期 126
8.6 小结 127
8.7 复习题 127
第9章 算术运算符和赋值运算符 129
9.1 算术运算符 130
9.2 算术运算符示例程序 131
9.3 速记运算符 134
9.4 运算符优先级 135
9.4.1 结合性 136
9.4.2 更改优先级顺序 137
9.5 小结 138
9.6 练习 138
9.7 复习题 138
第10章 关系运算符和逻辑运算符 140
10.1 关系运算符 141
10.2 逻辑运算符 144
10.2.1 逻辑与运算符(And) 144
10.2.2 逻辑或运算符(Or) 145
10.2.3 逻辑异或运算符(Xor) 145
10.2.4 使用逻辑运算符进行位运算 146
10.3 运算符优先级 150
10.5 复习题 151
10.4 小结 151
第11章 决策 154
11.1 简单If语句 155
11.1.1 使用Visual Basic.NET调试器监视程序流 157
11.1.2 程序简化 158
11.1.3 函数调用和If测试 159
11.2 If-Then-Else语句 160
11.3 使用If进行多级决策 161
11.4 Select Case语句 162
11.4.1 Select Case语句的变型 163
11.4.2 带值范围的Select Case语句 163
11.4.3 带限制范围的Select Case语句 163
11.5 枚举:使Select Case块更容易理解 164
11.6.1 AndAlso运算符 165
11.6 短路运算符 165
11.6.2 OrElse运算符 166
11.7 小结 167
11.8 复习题 167
第12章 程序循环 170
12.1 循环结构 171
12.2 简单程序循环 171
12.3 For-Next循环 173
12.4 使用For-Next循环实现算法 175
12.4.1 用于定义变量的可选语法 176
12.4.2 代码走查 176
12.4.3 不足之处 177
12.4.4 哪一个版本更佳 177
12.5.1 Structure数据类型 178
12.5 For循环与数组 178
12.5.2 btnAdd Click事件 180
12.5.3 btnDone Click事件 181
12.6 Exit For——提前退出For循环 181
12.7 嵌套For循环 182
12.8 小结 183
12.9 复习题 184
第13章 While循环 187
13.1 While End While循环 188
13.2 BinaryConversion程序 189
13.2.1 事情并不像初看到的那样简单 189
13.2.2 ConvertToBinary()函数 190
13.2.3 ConvertToDecimal()函数 192
13.3 Do While循环——风格1 193
13.4 Do While循环——风格2 195
13.5 Until循环 196
13.5.1 Do Until 196
13.5.2 Loop Until 197
13.6 提前终止Do循环 197
13.7 卫士 198
13.8 小结 199
13.9 复习题 199
第14章 高级数组处理 202
14.1 声明和定义数组 203
14.1.1 数组标量 203
14.1.2 数组索引 203
14.2 排序数组 204
14.3 查找数组 206
14.3.1 顺序查找 206
14.3.2 二分查找法 207
14.4 其他的数组属性和方法 210
14.4.1 Length 210
14.4.2 Rank 210
14.4.3 Clear 210
14.4.4 Copy 210
14.4.5 GetLength 211
14.4.6 Reverse 211
14.5 对象数组 211
14.5.1 引用变量 212
14.5.2 数组对象的初始式列表 214
14.6 数组对象示例程序 215
14.7 集合 217
14.8 小结 221
14.9 复习题 222
第15章 封装 224
15.1 创建自己的类 225
15.1.1 第一步:创建草图设计 225
15.1.2 第二步:研究类创建的可选性 226
15.1.3 细化 226
15.2 往项目中添加类 228
15.2.1 往类中添加类成员 229
15.2.2 往类中添加类构造函数 230
15.2.3 往类中添加新用户 232
15.2.4 公共过程和类接口 234
15.2.5 类辅助过程 235
15.2.6 在CPassword类代码中添加余下的代码 235
15.3 测试CPassword类代码 238
15.3.1 TestPassword代码 239
15.3.2 检测用户和密码 241
15.3.3 优雅的对象释放功能 241
15.4 创建自己的类库 242
15.5 小结 244
15.6 复习题 244
第16章 类属性 246
16.1 进行程序规划 247
16.1.1 属性访问器方法 248
16.1.2 COven类代码 249
16.2 测试COven类 252
16.3 ReadOnly和WriteOnly属性 257
16.4 小结 258
16.5 复习题 258
第17章 继承 260
17.1 基类和派生类 261
17.1.1 “is a”关系 261
17.1.2 为什么需要基类和派生类 262
17.2 Building基类 262
17.3 Apartment、Commercial和Home派生类 265
17.3.2 派生类的方法 268
17.4 定义与声明 268
17.3.1 成员数据和属性访问器 268
17.5 测试Building类 269
17.5.1 使用组合框 269
17.5.2 派生类成员数据 270
17.5.3 用于增强Building测试程序的简单改进 274
17.6 虚拟类 275
17.6.1 MustInherit关键字 275
17.6.2 影响继承的关键字 275
17.7 小结 278
17.8 复习题 278
第18章 多态性 281
18.2.1 基类构造函数 282
18.2 继承与多态性例子 282
18.1 什么是多态性? 282
18.2.2 带有初始式列表的构造函数 283
18.3 测试多态性 290
18.3.1 使用虚拟类 292
18.3.2 对一个对象数组使用For Each结构 292
18.4 创建一个接口 293
18.4.1 接口声明 294
18.4.2 实现接口 294
18.5 小结 297
18.6 复习题 297
第19章 错误处理和调试 299
19.1 错误类型 300
19.1.1 语法错误 300
19.1.2 语义错误 301
19.2 调试器测试示例程序 302
19.1.3 逻辑错误 302
19.3 使用Visual Basic.NET调试器 304
19.3.1 设置一个断点 305
19.3.2 “Locals(局部变量)”窗口 305
19.3.3 “Autos(自动)”窗口 306
19.3.4 “Watch(监视)”窗口 307
19.3.5 命中计数器 308
19.3.6 “Command(命令)”窗口 308
19.3.7 边界值 309
19.3.8 其他窗口 309
19.4 非结构化的错误处理 310
19.4.1 On Error Goto语句 310
19.4.3 Exit Sub 311
19.4.2 Me.Update() 311
19.4.4 Resume Next 312
19.4.5 Resume 312
19.4.6 On Error Goto 0 312
19.5 结构化错误处理 312
19.5.1 Try语句块 313
19.5.2 Catch语句块 313
19.5.3 Finally语句块 314
19.5.4 End Try语句 315
19.6 异常处理程序示例 315
19.6.1 btnCalc的Click事件 317
19.6.2 StandardDeviation()函数 318
19.7 小结 319
19.8 复习题 319
19.6.3 Throw关键字 319
第20章 Visual Basic.NET控件 322
20.1 Form控件 323
20.1.1 Form控件的Load()事件 323
20.1.2 Form控件的属性 324
20.1.3 Form控件方法 328
20.2 带控件的示例程序 328
20.2.1 组合框 329
20.2.2 单选按钮 332
20.3 示例程序运行 333
20.3.1 窗体的Load()事件 335
20.3.2 BtnCheck对象的Click()事件 335
20.5 复习题 336
20.4 小结 336
第21章 创建自己的控件 338
21.1 PhoneSSN控件 339
21.1.1 设置项目 340
21.1.2 UserControl窗体 341
21.1.3 命名定制控件 341
21.1.4 将文本框放到控件上 342
21.1.5 往PhoneSSN定制控件中添加代码 343
21.1.6 组件属性 343
21.1.7 使用Enum数据类型来进行属性选择 344
21.1.8 描述并分类属性过程 345
21.1.9 InputType属性过程代码 345
21.1.10 把新选项卡添加到工具箱 345
21.1.11 其余的PhoneSSN类代码 346
21.1.13 调整文本框的大小 348
21.1.12 Resizing()事件代码 348
21.1.14 测试PhoneSSN控件 349
21.1.15 添加TestPS项目 349
21.1.16 把PhoneSSN控件添加到工具箱 349
21.2 处理事件 351
21.2.1 事件处理程序的签名 351
21.2.2 发件人、委托与事件处理程序 353
21.3 小结 353
21.4 复习题 353
第22章 Visual Basic.NET图形 355
22.1 你的计算机显示器 356
22.1.3 图像存储大小 357
22.1.1 Visual Basic.NET图形坐标系统 357
22.1.2 PictureBox控件 357
22.2 Imageviewer项目 358
22.2.1 OpenFileDialog控件 359
22.2.2 ShowDialog()方法 361
22.2.3 CalculateControlSize()过程 361
22.2.4 宽高比 362
22.3 创建自己的图形对象 363
22.4 设置字体 370
22.5 使用Yellowline和Redline特性 371
22.5.1 绘制与填充量规的背景 372
22.5.2 绘制刻度线和值 373
22.6 测试Gauge控件 374
22.8 复习题 375
22.7 小结 375
第23章 磁盘数据文件 377
23.1 数据文件介绍 378
23.1.1 顺序磁盘数据文件 378
23.1.2 写文本文件 381
23.1.3 随机访问数据文件 385
23.1.4 frmRandom类代码 388
23.2 小结 398
23.3 复习题 398
第24章 数据库基础 400
24.1.2 SQL 401
24.1.3 现代数据库的组织结构 401
24.1.1 数据库中有什么? 401
24.1 数据库的概念 401
24.1.4 为什么需要所有的这些表呢? 404
24.2 ADO.NET 404
24.3 使用SQL 405
24.3.1 SELECT 405
24.3.2 WHERE谓词 407
24.3.3 ORDER BY子句 408
24.4 使用SQL 408
24.4.1 添加WHERE谓词 410
24.4.2 使用一个ORDER BY子句 411
24.5 小结 412
24.6 复习题 413
第25章 用Visual Basic.NET进行数据库编程 414
25.1 使用Visual Basic.NET向导与数据库进行交互 415
25.2 添加一个DataSet对象 422
25.3 没有向导的日子 425
25.3.1 设置窗体 425
25.3.2 添加代码 426
25.3.3 连接字符串 427
25.3.4 使用ADO 428
25.3.5 选择查询字段名称 429
25.3.6 添加WHERE谓词 429
25.3.7 提交查询 431
25.3.8 导航数据库 433
25.4 修改数据库 437
25.4.1 闲话删除 437
25.4.2 ModifyDB项目 437
25.5 小结 441
25.6 复习题 442
第26章 使用Visual Basic.NET进行Web编程 444
26.1 引言 445
26.1.1 HTML和静态Web页面 445
26.1.2 Web页面如何起作用 445
26.1.3 配置你自己的Web服务器 447
26.2 动态HTML 450
26.3 住房抵押Web页面 451
26.3.1 基于Web的IDE中的区别 452
26.3.2 抵押计算器 452
26.3.3 抵押计算器的HTML脚本 455
26.4 小结 459
26.5 复习题 460
附录A ASCII表 462