第1章 窗体控件介绍 1
1.1 C#概述 2
1.1.1 从VB 6.0到C#.NET 2
1.1.2 事件处理 2
1.1.3 Timer控件 4
1.1.4 Combo/List Box控件 4
1.1.5 DataGrid Control 5
1.2 创建C#Web应用程序 10
1.2.1 ASP.NET和Web Forms概述 10
1.2.2 Web Forms的目的 10
1.2.3 HTML控件 11
1.2.4 Web Form控件 12
1.2.5 域验证控件 14
1.2.6 创建自定义控件 14
1.2.7 Web Forms如何工作 14
1.2.8 Global.asax 15
1.3 创建一个Web Form 16
1.3.1 创建登录页面 16
1.3.2 增加代码到按钮 17
第2章 命名空间 19
2.1 概述 20
2.2 System.Collections命名空间 21
2.3 System.Data命名空间 23
2.4 System.Drawing命名空间 24
2.5 System.IO命名空间 25
2.6 System.Text命名空间 26
2.7 System.Threading命名空间 26
2.8 System.Timers命名空间 28
2.9 System.Web命名空间 29
2.10 System.Web.Services命名空间 30
2.11 System.Windows.Forms命名空间 32
2.12 System.Xml命名空间 33
第3章 C#程序设计 36
3.1 Windows Forms应用程序 37
3.1.1 Windows Forms 37
3.1.2 控件 37
3.1.3 无模式的控件 38
3.1.4 事件 39
3.1.5 Event类 39
3.1.6 可取消的事件 40
3.1.7 生存周期和Dispose 40
第4章 数据库访问 42
4.1 .NET Framework数据提供商 43
4.1.1 使用.NET Framework数据提供商 43
4.1.2 连接到SQL Server 7.0以上版本 44
4.1.3 连接到ODBC数据源 44
4.2 使用数据处理对象 44
4.2.3 处理强类型DataSet的空值(NULL) 45
4.2.1 DataSet与DataReader比较 45
4.2.2 使用强类型的DataSet 45
4.2.4 刷新DataSet中的数据 46
4.2.5 搜索DataSet中的数据 46
4.2.6 DataView构造 46
4.2.7 分页 46
4.2.8 使用Schema填充DataSet 47
4.2.9 使用CommandBuilder的示例 47
4.2.10 批处理SQL语句 48
4.2.11 使用多表填充DataSet 48
4.2.12 使用DataReader 48
4.2.13 二进制大对象(BLOBs) 49
4.3 使用Commands 49
4.3.1 使用OleDbCommand的示例 49
4.3.6 测试Null 50
4.3.5 ExecuteScalar和ExecuteNonQuery 50
4.3.2 使用SqlCommand的方法 50
4.3.3 Prepare方法的使用 50
4.3.4 明确指定架构和元数据 50
4.3.7 传递Null参数 51
4.3.8 执行Transactions 51
4.4 使用Connections 51
4.4.1 连接池 51
4.4.2 使用DataAdapter优化连接 51
4.4.3 总是关闭Connection和DataReader 52
4.4.4 使用C#的Using语句 52
4.4.5 避免访问OleDbConnection.State属性 53
4.5 与XML集成 53
4.5.1 DataSet和XML 53
4.5.2 架构推断 53
4.6.1 避免自动递增的冲突 54
4.6.2 检测乐观并发冲突 54
4.5.4 SQLXML可管理类 54
4.6 要点提示 54
4.5.3 SQL Server for XML查询 54
4.6.3 多线程编程 55
4.6.4 在需要的时候使用COM访问ADO 55
第5章 Web Services平台 56
5.1 Web Services定义 57
5.2 Web Services、Windows DNA和.NET 57
5.3 平台要求 59
5.4 创建一个简单的Web服务 60
5.4.1 创建一个Web Service 60
5.4.2 创建Web Service中的方法 61
5.4.3 执行初始化测试 61
5.5.1 添加Windows应用程序 62
5.5.2 在项目中使用服务 62
5.5 访问Web服务 62
5.5.3 访问Web服务 63
5.6 返回复杂的数据类型 63
5.6.1 将一个新类添加到Web服务项目 63
5.6.2 创建一个返回对象数组的新方法 64
5.6.3 通过HTML测试页观察新方法 65
5.6.4 更新客户端引用 65
5.6.5 XML的序列化 66
5.7 软件产品化 67
5.7.1 动态配置URLs来访问Web服务 67
5.7.2 异步Web服务调用 68
5.8 应用程序配置文件说明 69
5.8.1 节 69
5.8.2 appSettings节 70
5.8.3 节处理器和自定义节 71
5.8.4 创建自定义节处理器 73
5.8.5 检测配置文件的变化 76
第6章 使用C#.NET调试 79
6.1 创建被调试程序 80
6.1.1 调试菜单 82
6.1.2 命令窗口 82
6.1.3 命令窗口-即时模式 83
6.1.4 输出窗口 83
6.1.5 断点 84
6.2 修正程序 84
6.3 使用调试和跟踪类 86
第7章 安装和部署 88
7.1 介绍 89
7.1.1 简单应用程序的部署 89
7.1.2 部署使用组件的应用程序 90
7.2 Windows Installer部署 92
7.1.3 部署共享组件 92
第8章 文档管理系统 95
8.1 需求分析 96
8.2 运行设计 96
8.2.1 程序主界面设计 96
8.2.2 选择目录功能 97
8.2.3 查找文件 97
8.2.4 处理文件 98
8.3 源代码设计 98
8.3.1 系统命名空间和类库 98
8.3.2 系统主程序(app.cs) 100
8.3.3 目录选择模块 107
8.4 系统测试与运行 113
第9章 项目管理系统 114
9.2.1 登录界面 115
9.2.2 操作界面 115
9.2 运行设计 115
9.1 需求分析 115
9.2.3 查看功能 116
9.2.4 任务状态 116
9.2.5 新建任务 117
9.2.6 选项 118
9.2.7 管理工具 118
9.2.8 任务列表属性 119
9.2.9 管理用户指派 119
9.2.10 用户管理 120
9.2.11 创建新用户 120
9.2.12 应用管理 121
9.2.13 通知管理 121
9.3.1 系统命名空间和类库 122
9.3.2 登录程序 122
9.3 源代码设计 122
9.3.3 主页面模块 126
9.3.4 创建新任务模块 135
9.3.5 任务管理模块 142
9.4 系统测试与运行 147
第10章 快递管理系统 149
10.1 需求分析 150
10.2 运行设计 150
10.2.1 登录 150
10.2.2 主界面 150
10.2.3 菜单 151
10.2.4 新客户 152
10.2.5 新雇员 152
10.2.6 客户清单 153
10.2.7 雇员清单 153
10.2.9 发票 154
10.2.8 借款 154
10.3 源代码设计 155
10.3.1 数据库设计 155
10.3.2 命名空间和类库 157
10.3.3 主界面模块 160
10.3.4 发票模块 168
10.4 系统测试与运行 176
第11章 网络监视系统 178
11.1 需求分析 179
11.2 运行设计 179
11.3 源代码设计 180
11.3.1 命名空间和类库说明 180
11.3.2 主窗体模块(PacketMonitorForm.cs) 183
11.3.3 数据包信息模块 188
11.3.4 数据包模块 190
11.3.5 PacketMonitor.cs模块 198
11.4 系统测试与运行 204
第12章 高级俄罗斯方块游戏 205
12.1 需求分析 206
12.2 运行设计 206
12.3 源代码设计 208
12.3.1 命名空间和类库说明 208
12.3.2 游戏窗体模块 209
12.3.3 游戏图形块模块 213
12.3.4 游戏引擎模块 220
12.3.5 图形绘制模块 237
12.4 系统测试与运行 247
第13章 博客论坛 248
13.2.3 管理员功能 249
13.2.2 发表评论 249
13.2.1 主页面 249
13.2 运行设计 249
13.1 需求分析 249
13.3 源代码设计 250
13.3.1 命名空间和类库说明 250
13.3.2 Tblogger.xml架构 252
13.3.3 主页 255
13.3.4 回复模块 263
13.3.5 编辑模块 267
13.4 系统测试及运行 273
第14章 电子商务系统 274
14.1 需求分析 275
14.2 运行设计 275
14.2.1 环境配置 275
14.2.5 登录 276
14.2.4 购物篮 276
14.2.2 系统主页面 276
14.2.3 分类查看 276
14.2.6 注册 277
14.2.7 数据库设计 277
14.3 源代码设计 280
14.3.1 命名空间和类库说明 280
14.3.2 主页 280
14.3.3 购物篮 283
14.3.4 菜单模块 287
14.3.5 注册模块 289
14.3.6 订单细节模块 293
14.4 系统测试及运行 296
第15章 myQQ系统 297
15.2 运行设计 298
15.2.1 主程序 298
15.1 需求分析 298
15.2.2 登录 299
15.2.3 发送消息 299
15.2.4 信息 299
15.3 源代码设计 301
15.3.1 命名空间和类库说明 301
15.3.2 服务器程序 301
15.3.3 客户端模块 311
15.3.4 聊天模块 324
15.4 系统测试及运行 331
附录A 项目开发概述 332
A.1 什么是项目开发 332
A.2 国内项目开发情况 332
A.3 项目开发的经验与体会 333
A.4 为什么要按照软件工程进行项目开发 335
A.5 工程化开发与个人技能发展的关系 335
附录B 常用概念和参考网站 337