第1章 Visual Studio.NET编程原理 1
1.1 VB.NET与Visual Studio.NET简介 1
目录 1
1.2 Visual Studio.NET新功能概述 2
1.3 选择一种开发语言 3
1.4 .NET Framework的设计与实现 4
1.4.1 Visual Studio.NET和.NETFramework之间的关系 5
1.4.2 .NET Framework的要求 5
1.4.3 .NETFramework的版本 6
1.5 公共语言运行时 7
1.5.1 公共类型系统 7
1.4.4 安装.NET Framework 7
1.5.2 公共语言规范 8
1.5.3 中间语言和Just-In-Time编译器 8
1.5.4 执行管理 9
1.5.5 垃圾回收概述 10
1.6 程序集概述 11
1.7 名称空间的组织方式 12
1.8 .NET Framework类库 15
3.8.4 创建外置的类数据 1 15
1.8.1 主要的.NET Framework数据类型 16
1.8.2 声明变量 17
1.8.3 类型继承 17
1.8.4 结构的实现方式 18
1.8.5 类型转换 19
1.8.6 System名称空间的Math类 21
1.9.1 VB.NET应用程序的结构 22
1.9 创建第一个VB.NET应用程序 22
1.9.2 编写应用程序 23
1.9.3 定位VB.NET编译器 25
1.9.4 编译VB.NET应用程序 26
1.10 中间语言的语法 28
1.11 复习题 33
1.12 上机练习 36
第2章 桌面应用程序:核心概念 38
2.1 预览完整的解决方案 38
2.2 本章概述 40
2.3 VB.NET应用程序类型 41
2.4 VB.NET应用程序的组织方式 42
2.4.1 Solution Explorer 43
2.4.2 Solution Explorer和解决方案文件 44
2.4.3 工程文件 45
2.5 IDE窗口概述 48
2.5.1 文档窗口 48
2.5.2 工具窗口 49
2.5.3 属性窗口及其属性编辑器 49
2.6.2 代码编辑器 51
2.6 处理窗体模块 51
2.6.1 Win Forms Designer 51
2.6.3 Win Forms Designer生成的类模块的结构 53
2.7 基本的Windows窗体 56
2.8 管理窗体 57
2.9 控件基础 60
2.9.1 Timer控件 61
2.9.2 菜单和菜单项 62
2.9.3 CheckBox控件 65
2.9.4 Label和TextBox控件 66
2.9.7 GroupBox和Panel控件 67
2.9.8 RadioButton控件 67
2.9.6 Scroll Bar控件 67
2.9.5 Button控件 67
2.9.9 ListBox和ComboBox控件 68
2.9.10 ToolTip控件 70
2.10 理解Tab顺序 70
2.11 VB.NET事件处理程序简介 71
2.12 动态事件处理程序 74
2.13 Controls集合 77
2.14 复习题 81
2.15 上机练习 83
3.1 预览完整的解决方案 89
第3章 桌面应用程序:核心语法概念 89
3.2 组件编程简介 91
3.2.1 组件的实现方式和接口 92
3.2.2 组件的设计和组织方式 92
3.2.3 基于组件编程的优点 92
3.3 使用访问修饰符控制变量的可视性 93
3.4 把组件组织到名称空间 94
3.4.1 声明名称空间 95
3.4.2 导入名称空间 98
3.5 使用枚举提高代码的可读性 100
3.6 结构 102
3.7 模块代码块 106
3.7.1 在模块中创建过程 106
3.7.2 处理验证事件 108
3.8 类的简介 110
3.8.1 类和共享方法 111
3.8.2 在类中使用实例成员 113
3.8.3 在组件中隐藏数据 114
3.8.5 克服域的限制 115
3.8.6 实现属性过程 117
3.8.7 创建属性 118
3.9 构造函数 119
3.10 创建方法 120
3.11 复习题 122
3.12 上机练习 125
第4章 .NET Framework编程基础 130
4.1 预览完整的解决方案 130
4.2 处理多工程解决方案 133
4.3 OOP设计基础 134
4.3.1 独占设计模型 135
4.3.2 工厂设计模型 137
4.4.1 重载成员的签名 138
4.4 重载成员 138
4.4.2 显式类型转换和重载方法 141
4.5 继承 143
4.5.1 不同语言的继承规则 143
4.5.2 继承关键字 144
4.5.3 作用域和继承 144
4.5.4 嵌套类 146
4.5.5 抽象类和继承 146
4.5.6 继承类 149
4.5.7 禁止继承 150
4.6 重写成员 151
4.7 继承和构造函数 154
4.8 类事件 161
4.8.1 声明事件的注意事项 162
4.8.2 为类定义事件 162
4.9 异常处理 165
4.9.1 异常的层次结构 167
4.9.2 定义应用程序的异常处理策略 170
4.10 复习题 175
4.11 上机练习 178
第5章 Windows文件系统和基本数据结构 183
5.1 预览完整的解决方案 183
5.3.1 Directory类的方法 186
5.3 使用Windows文件系统 186
5.2 SYSTEM.IO名称空间简介 186
5.3.2 使用Directory类的方法 187
5.3.3 应用Directory类的方法 188
5.3.4 File类 191
5.4 OpenFileDialog和SaveFileDialog控件 194
5.4.1 Filter属性 195
5.4.2 使用OpenFileDialog控件 196
5.5 读写文件 197
5.5.1 使用StreamReader类读取顺序文件 197
5.5.2 使用StreamWriter类写入文件 201
5.6 使用集合 202
5.7 ArrayList类 203
5.8 SortedList类 212
5.8.1 在SortedList中定位项目 213
5.8.2 添加SortedList项目 214
5.8.3 修改SortedList项目 214
5.8.4 删除SortedList项目 215
5.9 队列 216
5.10 堆栈 217
5.11 打开、读取和写入随机文件 218
5.11.1 打开随机文件 219
5.11.2 读取和写入记录 221
5.12 复习题 223
5.13 上机练习 226
第6章 基于接口的编程 230
6.1 预览完整的解决方案 230
6.2 理解接口的概念 234
6.3 实现和声明接口 235
6.3.1 实现接口 235
6.3.2 声明接口 236
6.3.3 继承接口 237
6.4 理解IComparable接口 238
6.5 使用IComparable接口排序列表 241
6.6 实现IComparer接口 243
6.7 IEnumerator和IEnumerable接口的关系 247
6.8 IEnumerable接口详述 248
6.9 ICollection接口 253
6.10 克隆 259
6.11 复习题 262
6.12 上机练习 264
第7章 ADO.NET简介 269
7.1 预览完整的解决方案 269
7.2 数据库基础 271
7.3 OleDbConnection类 273
7.3.1 ADO.NET中的连接类 273
7.3.2 以编程方式创建连接 274
7.3.3 通过连接发送请求 275
7.4 OleDbDataAdapter类 276
7.4.1 OleDbCommand类 277
7.4.2 以编程方式创建OleDbDataAdapter 278
7.4.3 以编程方式配置OleDbDataAdapter 279
7.4.4 表映射 280
7.4.5 填写OleDbDataAdapter 281
7.5 DataSet类简介 282
7.5.1 DataTable类 283
7.5.2 在DataTable中导航行 286
7.5.3 创建主键标 289
7.6.1 向DataTable添加行 290
7.6 修改DataTable中的数据 290
7.6.2 修改DataRow 292
7.6.3 从DataTable删除行 293
7.7 输入验证 294
7.8 SQL查询参数简介 297
7.9 把对DataSet的修改保存回数据库 299
7.9.1 记录添加 301
7.9.2 记录更新 304
7.9.3 记录删除 306
7.10 复习题 307
7.11 上机练习 310
8.1 预览完整的解决方案 315
第8章 处理来自多个表的数据 315
8.2 使用OleDbConnection控件创建连接 318
8.3 OleDbDataAdapter控件 320
8.3.1 理解InsertCommand属性 324
8.3.2 理解UpdateCommand属性 326
8.4 强类型化DataSet 328
8.4.1 类型化DataSet与非类型化DataSet 328
8.4.2 创建类型化DataSet 329
8.4.3 方案定义文件 330
8.4.4 类型化DataSet的元素 331
8.4.6 在类型化DataSet中定位记录 334
8.4.5 引用类型化DataSet中的域 334
8.4.7 向类型化DataSet添加记录 335
8.4.8 修改记录 336
8.4.9 删除记录 336
8.5 理解一对多关系 336
8.6 DataRelation类 337
8.6.1 以编程方式定义DataRelation 337
8.6.2 GetChildRows方法 339
8.6.3 使用XML Designer创建DataRelation 341
8.7 数据绑定 343
8.7.1 简单绑定 343
8.7.2 绑定和记录导航 345
8.7.3 在复杂的绑定控件中修改记录 346
8.8 DataGrid控件 346
8.8.1 绑定DataGrid 346
8.8.2 显示选择的交易记录 347
8.9 DataReader类 348
8.9.1 理解DataReader 349
8.9.2 使用OleDbDataReader 351
8.10 执行分级查询 353
8.11 复习题 354
8.12 上机练习 357
9.1 预览完整的解决方案 361
第9章 Crystal Reports 361
9.2 Crystal Reports概述 364
9.2.1 处理阶段1 364
9.2.2 处理阶段2 365
9.3 创建报表 366
9.3.1 定义报表类型 366
9.3.2 Crystal Reports Designer的5个部分 367
9.3.3 Crystal Reports名称空间 368
9.3.4 Crystal Reports文件 368
9.4 通用报表元素 369
9.4.1 Crystal Reports控件 369
9.4.2 格式化Crystal Reports控件实例的内容 370
9.4.3 其他格式化属性 371
9.5 预览报表 373
9.6 Crystal Reports域 375
9.7 把报表连接到数据库 375
9.7.1 Crystal Reports和ADO.NET 375
9.7.2 数据库域 377
9.7.3 以编程方式管理Crystal Report 378
9.8 在Crystal Reports中处理多个表 380
9.9 创建公式域 381
9.10 特殊域 384
9.11.1 使用组名域创建控制中断 385
9.11 控制中断报表 385
9.11.2 嵌套的控制中断 387
9.11.3 创建流程合计 388
9.12 导出报表 390
9.13 参数域 393
9.13.1 参数域的运行方式 393
9.13.2 以编程方式与参数域通信 396
9.14 复习题 399
9.15 上机练习 402
第10章 通用Windows控件 407
10.1 预览完整的解决方案 407
10.2 通用Windows控件简介 409
10.3 ImageList控件 410
10.4 ToolBar控件 412
10.4.1 ToolBar控件的成员 412
10.4.2 创建ToolBar控件实例 413
10.4.3 ToolBar控件按钮 413
10.4.4 下拉式按钮 415
10.4.5 为ToolBar控件创建事件处理程序 416
10.5 StatusBar控件 417
10.6 下拉式界面简介 420
10.7 TreeView控件 421
10.7.1 创建TreeView控件实例 423
10.7.2 向TreeView控件实例添加节点 424
10.7.3 TreeNode对象 425
10.7.4 以编程方式添加TreeNode 427
10.7.5 创建根节点 427
10.7.6 创建子节点 429
10.7.7 遍历节点 433
10.8 ListView控件 436
10.9 使用Details视图 444
10.9.1 ColumnHeaderCollection 444
10.9.2 ListViewSubItems 446
10.10 复习题 447
10.11 上机练习 450
第11章 创建.NET控件 454
11.1 预览完整的解决方案 454
11.2 创建自定义控件的原因 456
11.3 通过继承已有的控件来创建控件 456
11.3.1 继承控件 456
11.3.2 创建Windows Control Library工程 456
11.3.3 编译和引用WindowsControl Library工程 458
11.3.4 重写被继承控件的成员 460
11.3.5 扩充被继承控件的成员 463
11.4 对控件使用特性 464
11.5 从System.Windows.Forms.UserControl继承 468
11.6 委托和聚集属性 472
11.7 从System.Windows.Forms.Control继承 476
11.8 创建自定义属性编辑器 479
11.9 控件许可 486
11.9.1 使用内置的LicFileLicense-Provider 486
11.9.2 Environment类 489
11.9.3 创建自定义许可提供器 489
11.10 复习题 493
11.11 上机练习 496
12.1 预览完整的解决方案 500
第12章 绘图和GDI+ 500
12.2 GDI+简介 502
12.3 理解颜色和Colors结构 503
12.4 绘制点和线 504
12.4.1 定义点 504
12.4.2 定义钢笔 505
12.5 Graphics类 506
12.6 绘制线条 508
12.7 绘制矩形 509
12.8 填充矩形区域 511
12.8.1 使用SolidBrush填充形状 511
12.8.2 使用HatchBrush填充形状 512
12.8.3 使用LinearGradientBrush填充图形 513
12.9 绘制文本 514
12.8.4 使用TextureBrush绘制图形 514
12.10 复杂的形状 516
12.10.1 绘制和填充多边形 516
12.10.2 绘制和填充椭圆 517
12.10.3 绘制圆弧 518
12.10.4 创建饼形 519
12.11 绘制图像 519
12.12 图形变换 521
12.12.1 世界坐标系变换 521
12.12.2 页面坐标系变换 522
12.12.4 缩放图形 523
12.12.3 翻转图形 523
12.13 绘制到打印机 525
12.13.1 理解PrintDocument类 525
12.13.2 PrintDialog控件 527
1 2.13.3 PrintPreviewDialog和PrintPreview控件 529
12.14 运用基本形状绘制图表 530
12.14.1 创建条形图 531
12.14.2 创建饼图 534
12.15 复习题 536
12.16 上机练习 539
13.1 预览完整的解决方案 543
第13章 MDI程序设计 543
13.2 MDI程序的特征 545
13.3 在MDI应用程序中组织过程 548
13.4 标准窗体在MDI应用程序中的作用 549
13.5 菜单和MDI应用程序 549
13.5.1 合并菜单 550
13.5.2 替换和删除菜单与菜单项 551
13.5.3 合并菜单项 552
13.5.4 使用菜单选择MDI子窗体 554
13.5.5 安排MDI子窗体 554
13.5.6 上下文菜单 555
13.6 MDI事件关系 556
13.7 管理MDI子窗体 560
13.8 富文本文件和RichTextBox控件 562
13.9 使用RichTextBox控件实例读写文件 563
13.10 格式化富文本框 566
13.10.1 设置颜色 567
13.10.2 设置字体 568
13.11 缩放 574
13.12 检测与Web页的链接 575
13.13 复习题 576
13.14 上机练习 579