目录 1
第1章 智能客户端简介 1
1.1 智能客户端的定义 1
1.1.1 胖客户端应用程序 1
1.1.2 瘦客户端应用程序 2
1.1.3 智能客户端应用程序 2
1.2 智能客户端的特征 3
1.2.1 使用本地资源 3
1.2.2 使用网络资源 4
1.2.3 支持偶尔连接的用户 4
1.2.4 提供智能安装和更新 5
1.2.5 提供客户端设备灵活性 6
1.3 智能客户端的类型 6
1.3.2 Office智能客户端应用程序 7
1.3.1 Windows智能客户端应用程序 7
1.3.3 移动智能客户端应用程序 8
1.4 对智能客户端和瘦客户端进行取舍 8
第一部分 IssueVision——事务管理系统 13
第2章 IssueVision系统简介 13
2.1 IssueVision系统简介 13
2.2 运行IssueVision系统 15
2.2.1 下载安装IssueVision系统 15
2.2.2 认识IssueVision系统 17
2.2.3 应用IssueVision 20
2.3 配置数据库服务器 23
第3章 IssueVision体系结构 25
3.1 数据访问策略 25
3.1.1 ADO.NET 26
3.1.2 存储过程 26
3.1.3 数据访问方式 27
3.1.4 数据冲突处理 28
3.2.1 使用GDI+进行图形开发 29
3.2 窗体设计 29
3.2.2 用户控件的使用 30
3.3 应用程序设计 31
3.3.1 属性配置 31
3.3.2 通过HTTP的应用程序更新模型 31
第4章 登录窗体 33
4.1 登录窗体概述 33
4.2 界面设计 34
4.3 代码实现 37
4.3.1 实现效果 37
4.3.2 事件触发 38
4.3.3 服务调用 40
4.4 小结 46
5.1 主窗体概述 47
第5章 主窗体的界面设计 47
5.2 设计概述 48
5.2.1 需求分析 48
5.2.2 功能设计 48
5.3 主窗体界面设计 49
5.4 用户控件的开发和设计 50
5.4.1 用户控件的设计 50
5.4.2 观察者设计模式 51
5.5 用户控件介绍 51
5.5.1 ChartPane用户控件 51
5.5.2 Chart用户控件 53
5.5.3 PaneCaption用户控件 61
5.5.4 MiddlePane用户控件 68
5.5.5 ExpandableList用户控件 72
5.5.6 IssueList用户控件 78
5.5.7 SectionControl用户控件 81
5.5.8 StaffPane用户控件 87
5.5.9 IssueTreeView用户控件 88
5.5.10 OneIssuePane用户控件 91
5.5.11 HistoryList用户控件 95
5.5.12 EllipsisLabel用户控件 100
5.5.13 ConflictPane用户控件 104
5.6 小结 107
第6章 主窗体的实现 109
6.1 实现效果 109
6.1.1 命令设计模式 109
6.1.2 命令者设计模式 111
6.1.3 命令实现 114
6.2 事件触发 115
6.2.1 窗体事件 115
6.2.2 用户设置类UserSettings 119
6.2.3 数据加解密类DataProtection 123
6.3 服务调用 127
6.3.1 数据源类IssueSubject 127
6.3.2 线程辅助类BackgroundWorker 139
6.4 小结 147
第7章 其他窗体 149
7.1 窗体实现概述 149
7.2 设计概述 150
7.2.1 需求分析 150
7.2.2 功能设计 150
7.3 界面设计 150
7.3.1 新建事务窗体 150
7.3.2 编辑事务窗体 151
7.4 代码实现 152
7.4.1 新建事务窗体 152
7.4.2 编辑事务窗体 154
7.5 新建事务和编辑事务窗体技术要点总结 156
第8章 数据Web服务 158
8.1 数据Web服务实现概述 158
8.2 设计概述 159
8.2.1 需求分析 159
8.2.2 功能设计 160
8.3 代码实现分析 160
8.3.1 数据Web服务 160
8.3.2 SecurityHelper类 162
8.3.3 IVData类 166
8.4 数据库结构和存储过程 170
8.4.1 数据库表结构 170
8.4.2 存储过程 173
8.5 小结 176
9.1.1 应用场景 179
9.1.2 技术要点 179
第9章 TaskVision简介 179
9.1 TaskVision系统项目简介 179
第二部分 TaskVision——任务管理系统 179
9.2 运行TaskVision系统 180
9.2.1 下载安装TaskVision系统 180
9.2.2 认识TaskVision系统 182
9.3 小结 186
第10章 TaskVision体系结构 187
1 0.1 设计理念 187
10.1.1 偶尔连接的设计策略 187
10.1.2 部署和更新 188
10.2 TaskVision系统的体系结构 190
10.3 TaskVision的核心特性 190
10.3.1 偶尔连接 190
10.3.4 数据冲突处理 191
10.3.5 打印和打印预览 191
10.3.3 控制用户对应用程序功能访问授权 191
10.3.2 通过HTTP的应用程序更新模型 191
10.3.6 动态属性 192
10.3.7 本地化支持 192
10.3.8 辅助功能支持 193
10.3.9 异步Web服务调用和多层应用程序 193
10.3.10 在ADO.NET中使用存储过程进行数据访问 194
10.3.11 使用GDI+进行图形开发 194
10.3.12 集成COM应用程序 195
10.4 小结 196
第11章 登录窗体 197
11.1 登录窗体概述 197
11.2 设计概述 197
11.2.1 需求分析 198
11.2.2 功能设计 198
11.3 界面设计 199
11.4 代码实现分析 200
11.4.1 显示登录窗体 200
11.4.2 事件触发 203
11.4.3 服务调用 209
11.5 小结 213
第12章 主窗体 214
12.1 主窗体概述 214
12.2 设计概述 215
12.2.1 需求分析 215
12.2.2 功能设计 216
12.3 界面设计 216
12.4 代码实现 220
12.4.1 显示主窗体 220
12.4.2 事件触发 221
12.4.3 异步Web服务调用 242
12.5 小结 248
第13章 主窗体的自定义控件 249
13.1 创建Windows自定义控件 249
13.1.1 自定义控件概述 250
13.1.2 在Visual Studio.NET中创建自定义控件 250
13.2 TaskVision系统中的自定义控件 251
13.2.1 TaskHistoryPanel控件的属性 251
13.2.2 TaskHistoryPanel控件的方法 253
13.2.3 为TaskHistoryPanel控件增加事件 255
13.3 DataGrid控件自定义列样式 256
13.3.1 DataGridTextBoxColumn列样式 256
13.3.2 DataGridPriorityColumn列样式 259
13.3.3 DataGridProgressBarColumn列样式 260
13.3.4 GridColumnStylesCollection集合 262
13.4 小结 263
14.1 .NET框架打印功能简述 264
第14章 打印报表 264
14.2 TaskVision系统的报表打印 265
14.2.1 打印预览的实现 265
14.2.2 打印报表 270
14.3 导出到Excel 271
14.3.1 使用COM组件 271
14.3.2 导出报表到Excel 272
14.3.3 Visual Studio Tools for Office简介 276
14.4 小结 277
第15章 TaskVision服务器 278
15.1 ADO.NET简介 278
15.2 数据库完整性设计 279
15.3 TaskVision系统的数据库存储过程 284
15.4 面向服务的体系结构 286
15.5 TaskVision系统中的Web服务 286
15.5.1 创建Web服务 286
15.5.2 身份验证Web服务 288
15.5.3 数据Web服务 293
15.6 小结 294
第16章 TaskVision在移动设备上的开发 295
16.1 移动设备开发简介 295
16.1.1 开发工具的选择 296
16.1.2 移动开发工具的安装 297
16.2 Pocket TaskVision系统简述 297
16.3 Pocket TaskVision窗体 298
16.3.1 主窗体 298
16.3.2 查看任务列表 299
16.3.3 信息窗体 307
16.4 脱机状态的处理 309
16.4.1 下载任务窗体 309
16.4.2 上传任务窗体 312
16.4.3 数据访问类 315
16.5.1 Global类 324
16.5 工具类 324
16.5.2 Service类 326
16.5.3 Settings类 329
16.5.4 SimpleEncrypt类 332
16.6 自定义控件 333
16.6.1 进度条控件 333
16.6.2 任务列表控件 336
16.6.3 日历控件 340
16.7 小结 347
第17章 使用现有技术构筑SmartClient程序 348
17.1 ADO.NET 348
17.1.1 ADO.NET概述 349
17.1.2 ADO.NET与ADO的比较 349
17.2 ADO.NET对象模型 350
17.2.1 Connection对象 350
17.2.3 DataReader对象 352
17.2.2 Command对象 352
17.2.4 DataSet对象 353
17.2.5 DataAdapter对象 354
17.2.6 选择DataSet或DataReader 356
17.3 常见的数据库任务 356
17.3.1 打开数据库连接 356
17.3.2 从数据库中读取记录 357
17.3.3 查询中使用参数 357
17.3.4 向数据库中添加记录 358
17.3.5 更新数据库记录 359
17.3.6 删除数据库记录 360
17.3.7 调用数据库存储过程 360
17.3.8 实现数据库的事务处理 363
17.4 UpdaterApplication Block 364
17.4.1 Updater Application Block简介 364
17.4.2 实现原理 365
17.4.3 下载和安装UpdaterApplication Block 366
17.5 配置Updater Application Block 367
17.5.1 应用程序配置文件 367
17.5.2 更新器配置文件 368
17.5.3 清单文件 369
17.6 快速入门样例 372
17.6.1 Simple AppStart样例 372
17.6.2 Manual InProc样例 376
17.6.3 Auto InProc样例 379
17.6.4 MSI快速入门样例 381
17.6.5 无接触部署样例 385
17.7 Updater Application Block子系统 387
17.7.1 更新管理子系统 389
17.7.2 清单管理子系统 393
17.7.3 下载器子系统 395
17.7.4 激活子系统 400