目录 1
前言 1
第1章 Visual Basic.NET基础知识 1
1.1 创建第一个控制台应用程序 2
1.2 构造基于窗口的应用程序 4
1.3 选择正确的Visual Basic类型 5
1.4 在Visual Basic.NET程序中声明变量 6
1.5用Console.Write和Console.WriteLine显示屏幕输出 8
1.6 用Console.WriteLine格式化程序输出 9
1.7 向字符串末尾追加字符 11
1.8 强制程序指定变量的类型 12
1.9 小心变量溢出和变量精度 13
1.10 执行数字操作 15
1.11 不同变量类型之间值的转换 18
1.12 用条件运算符做判断 20
1.13 Visual Basic.NET的关系运算符和逻辑运算符 22
1.14 用Select处理多个条件 23
1.15 重复执行系列指令 25
1.16 避免无限循环 27
以提高性能 28
1.17 提前结束循环 28
1.18 Visual Basic.NET支持滞后求值 28
1.19 长语句换行 29
1.20 使用Visual Basic赋值运算符 30
1.21 对程序代码进行注释 31
1.22 用Console.Read和Console.ReadLine读取键盘输入 31
1.23 在消息框中显示消息 32
1.24 用输入框提示用户输入 33
1.25 把程序分成便于管理的程序段 34
1.26 向函数或子例程传递参数 38
1.27 在函数或子例程中声明局部变量 40
1.28 在子例程中改变参数的值 41
1.29 用变量的作用域表示程序中 43
变量有意义的区域 43
1.30 在同一变量中保存 45
相同类型的多个值 45
1.31 使用结构进行值分组 47
1.32 用常量提高代码的可读性 49
的区别小结 50
1.33 VisualBasic与Visual Basic.NET 50
第2章 利用.NET环境 52
2.1 利用公用语言运行时库 53
2.2 基于通用类型声明变量 54
2.3 移植到ASP.NET 56
2.4 利用Windows窗口 59
2.5 理解元数据 62
2.6 用名字空间组织对象库 63
2.8 把.NET解决方案打包到程序集 67
2.7 利用中间语言代码 67
2.9 利用可管理内存和垃圾收集 69
2.10 理解.NET版本化 71
2.11 标准化错误处理 72
第3章 Visual Basic.NET类编程 74
3.1 用范围属性限制对类成员的访问 78
3.2 初始化类成员变量 80
3.3 定义多个构造器以支持不同的参数 81
3.4 简化对象成员引用 84
3.5 利用静态类成员 86
3.6 利用属性控制类成员能够保存的值 87
3.7 避免参数名与类成员变量名发生冲突 89
3.8 用析构器方法执行“清除”处理 90
3.9 把类对象映射到Visual Basic.NET 91
窗体中 91
3.10 .NET中的垃圾收集 92
3.11 强制垃圾收集器收集未使用的内存 93
3.12 为Dispose操作提供类似于析构器的支持 95
3.13 Visual Basic.NET窗体 96
3.15 在类实例之间共享类成员变量 98
3.14 用Visual Studio的类视图仔细查看类 98
3.16 用Visual Studio插入类模板 100
3.17 用Visual Studio的Object Browser查看类的细节 101
第4章 Visual Basic.NET中的面向 103
对象编程 103
4.1 跟踪构造器方法 104
4.2 向基类构造器传递参数 105
4.3 继承和析构器方法 108
4.4 方法的重载和继承 110
4.5 方法的覆盖和继承 113
4.6 遮盖基类方法 116
4.7 用MyClass强制调用某个方法 118
4.8 禁止类继承 120
4.9 实现多态对象以使对象随着程序的 120
执行而改变形式 120
4.10 继承和事件简介 122
4.11 限制某个类只能作为基类使用 123
4.12 强制派生类覆盖基类方法 123
4.13 多级继承有别于多继承 126
4.14 建立接口 128
4.16 继承实现接口的类 131
4.15 在同一类中实现多个接口 131
第5章 使用公用语言运行时库和基类库 135
5.1 检索当前的系统日期和时间 135
5.2 DateTime类 137
5.3 String类 139
5.4 用StringBuilder对象提高程序性能 142
5.5 利用Math类 144
5.6 从Visual Basic.NET程序中发送 145
电子邮件消息 145
操作编程 147
第6章 Visual Basic.NET文件和目录 147
6.1 Directory类 148
6.2 检索和操纵Directory属性 151
6.3 创建惟一的目录 154
6.4 检索目录中的文件和子目录 154
6.5 确定系统的逻辑盘驱动器 156
6.6 用Directorylnfo类检索目录中的 157
文件与子目录 157
6.7 检索目录的父目录或根目录 158
6.8 操纵目录路径 159
6.9 执行通用的文件操作 162
6.10 利用文件属性 165
6.11 启动文件流 169
6.12 StreamWriter类与StreamReader类 172
6.13 读写二进制数据 175
6.14 文件锁 178
6.15 对FileWatcher事件做出响应 179
第7章 使用.NET通用对话框 182
7.1 提示用户输入要打开的文件 183
7.2 调整OpenFileDialog操作 185
7.3 在用户指定文件中保存信息 188
7.4 调整文件的Save操作 190
7.5 选择字体属性 192
7.6 将用户选择的字体付诸应用 194
7.7 选择颜色 194
7.8 调整Color对话框的操作 196
7.9 用PrintDialog类提示用户选择打印选项 199
7.11 用PageSetupDialog类提示用户 200
进行页面设置 200
7.10 确定可用的打印机 200
7.12 执行打印操作 202
第8章 使用多线程 205
8.1 创建并运行多线程 207
8.2 让线程进入休眠状态 209
8.3 线程的挂起、恢复和中断 211
8.4 Thread类 213
8.5 赋予线程名称 215
8.6 挂起某个线程的执行直到特定线程 218
处理结束 218
8.7 控制线程的优先级 221
8.8 利用线程池 223
8.9 识别线程之间潜在的竞争条件 225
8.10 用SyncLock保护共享资源 229
8.11 用Monitor类同步对线程资源的访问 230
8.12 用Monitor.TryEnter防止线程堵塞 233
8.13 用InterLocked保护共享变量的增量与减量操作 236
8.14 Process类 236
8.15 用Process类运行某个程序 240
8.16 终止某个进程 243
8.17 防止同一程序在同一时间执行两遍 244
8.18 显示系统中每个进程的信息 245
8.19 显示进程中各个线程的信息 246
第9章 结构化错误处理 249
9.1 捕获特定异常 254
9.2 测试各种异常 256
9.3 用普通的Catch语句处理异常 257
9.4 在异常出现之后执行“清除”工作 259
9.5 System Exception类 262
9.6 定制自己的异常 263
是否有效 264
9.7 抛出异常以测试你的异常处理措施 264
9.8 找出引起异常的代码位置 267
9.9 Debug类 269
9.10 确定调试器是否激活 272
9.11 用Debug类的Assert方法 273
找到程序中的错误 273
9.12 用事件日志跟踪程序操作 274
第10章 响应和处理事件 279
10.1 在类中定义和引发事件 279
10.2 使用Handles子句处理事件 282
10.3 使用AddHandler指定事件处理器 284
10.4 调用一个事件的多个处理器 286
10.5 添加和删除事件处理器 287
10.6 利用事件和类继承 288
10.7 使用.NET代表来指向某函数 289
10.8 在子例程调用中利用代表 291
10.9 使用代表对数据排序 293
10.10 把多个方法分配给一个代表 297
10.12 响应Timer事件 298
10.11 查看一个代表的调用列表 298
10.13 研究EventArgs类 300
第11章 Windows窗体编程 302
11.1 Form控件编程 304
1 1.2 Button控件编程 307
11.3 Label控件编程 308
11.4 把图像添加到窗体的标签上 310
11.5 LinkLabel类编程 311
11.6 Menu控件编程 313
11.7 PictureBox控件编程 314
11.8 NumericlUpDown控件编程 316
11.9 ComboBox控件编程 317
11.10 使用ProgressBar和StatusBar显示操作状态 318
11.11 TextBox控件编程 320
11.12 RichTextBox控件编程 321
11.13 ScrollBar控件编程 323
11.14 TrackBar控件编程 324
11.15 ToolBar控件编程 325
11.16 RadioButton控件编程 327
进行分组 328
11.17 使用GroupBox来对单选按钮 328
11.18 CheckBox控件编程 329
11.19 DomainUpDown控件编程 330
11.20 ListBox控件编程 331
11.21 CheckedListBox控件编程 332
11.22 DateTimePicker控件编程 333
11.23 MonthCalendar控件编程 335
11.24 Tab控件编程 335
11.25 用Panel控件对控件进行分组 337
11.26 TreeView控件编程 337
11.27 ListView控件编程 339
第12章 深入研究.NET程序集和版本化 340
12.1 温习.NET程序集 340
12.2 创建类库 342
12.3 利用类库的编程语言无关性 343
12.4 仔细查看共享程序集的公共密钥 345
12.5 把共享程序集安装到 346
全局程序集缓存中 346
12.6 使用.NET版本控制 346
12.7 预编译共享程序集以减少加载时间 347
@Assembly指令 348
12.8 在ASP.NET页中使用 348
12.9 利用Microsoft.NET框架配置 349
12.10 查看应用程序的程序集细节 351
第13章 ASP.NET解决方案编程 353
13.1 创建和运行简单的ASP.NET页 354
13.2 使用C#和Visual Basic.NET 355
实现简单的ASP.NET页 355
13.3 在Visual Studio创建和 357
运行ASP.NET项目 357
必须进行的编码改变 359
13.4 从ASP迁移到ASP.NET 359
13.5 在ASP.NET页中利用Cookie 362
13.6 确定浏览器的功能 363
13.7 同时维护ASP和ASP.NET页 365
13.8 ASP和ASP.NET不能共享Application和Session对象 366
13.9 查看HTTP头信息 370
13.10 利用主要的基于ASP.NET页的方法 372
13.11 ASP和ASP.NET处理Form.Request和Form.QueryString的方式不同 373
13.12 在ASP.NET页中处理异常 377
13.14 实现定制错误页 380
13.13 利用ASP.NET配置文件 380
13.15 通过禁止调试操作而改善性能 382
13.16 指定专用于Application与 383
Session的处理 383
13.17 研究Page指令 384
13.18 微调ASP.NET缓存属性 385
13.19 使用Imports指令导入一个 385
名字空间 385
第14章 Windows服务编程 389
14.1 创建简单的Windows服务 390
14.2 在Windows 2000中安装和删除服务 396
14.3 研究ServiceBase类 397
14.4 把服务事件写入Windows事件日志 399
14.5 要求服务定时执行操作 401
14.6 利用线程来处理服务操作 403
14.7 把关键系统事件通知管理员 406
14.8 把FileSystemWatcher集成到 409
Web服务中 409
第15章 Web窗体编程 413
15.1 asp:Button控件编程 415
15.2 asp:Checkbox控件编程 418
15.3 asp:CheckboxList控件编程 420
15.4 asp:RadioButton控件编程 422
15.5 asp:Hyperlink控件编程 424
15.6 asp:Image控件编程 426
15.7 asp:ImageButton控件编程 428
15.8 asp:Label控件编程 430
15.9 asp:TextBox控件编程 431
15.10 asp:Panel控件编程 434
15.11 asp:DropDownList控件编程 436
15.12 asp:ListBox编程 438
15.13 asp:RadioButtonList:控件编程 439
15.14 asp:Literal控件编程 441
15.15 asp:PlaceHolder控件编程 442
15.16 asp:Calendar控件编程 443
15.17 asp:Rotator控件编程 445
15.18 asp:XML控件编程 447
15.19 asp:RequiredFieldValidator 447
控件编程 447
15.20 asp:RangeValidator控件编程 450
15.21 asp:CompareValidator控件编程 453
15.22 asp:CustomValidator控件编程 454
15.23 asp:RegularExpressionValidator控件编程 456
15.24 利用HTML服务器控件 458
第16章 Web服务编程 461
16.1 创建你的第一个Web服务 462
16.2 创建简单的日期/时间Web服务 466
16.3 编写使用基于参数方法的Web服务 468
16.4 使用HTML窗体与Web服务交互 470
16.5 为你的Web服务创建代理 471
16.6 在ASP.NET页中使用Web服务 473
16.7 研究服务的Web服务描述语言 474
16.8 在Web服务中处理异常 475
16.9 利用Web服务配置文件 476
16.10 研究Web服务的SOAP 477
16.11 使用WSDL EXE生成一个代理 477
16.12 改变Web服务名字空间 480
16.13 帮助其他人发现Web服务 480
第17章 ADO.NET入门指南 482
17.1 指定数据提供者 482
17.2 用DataReader对象发出查询 484
17.3 用DataSet对象发出查询 485
17.4 在后台处理数据集更新 486
17.5 查询数据库的表 488
17.6 查询表的列 489
17.7 查看底层XML内容 491
17.8 从XML文件生成数据集 492
17.9 使用ASP.NET页执行查询 495
17.10 在DataGrid控件中显示数据库表 497
18.1 温习.NET反射 499
第18章 .NET反射和程序属性编程 499
18.2 在ILDASM中查看类信息 501
18.3 温习对象的方法 502
18.4 研究对象的方法 506
18.5 比较早绑定和晚绑定 508
18.6 使用Invoke调用对象方法 510
18.7 研究程序集 513
18.8 理解〈属性〉 514
18.9 定义定制的属性 515
18.10 显示程序集的属性 516