第1章 C#图形开发基础 1
1.1 Windows图形 1
1.1.1 图形子系统基本原理 1
1.1.2 图形设备上下文 3
1.1.3 用户界面事件 4
1.1.4 图形用户界面闪烁 7
1.2 C#图形开发基础 10
1.2.1 GDI+概述 10
1.2.2 矢量图和位图 11
1.2.3 图形坐标系统 12
1.2.4 图形开发基本原理 14
1.2.5 C#图形开发基础 16
1.3 C#画图初步 17
1.3.1 画布 17
1.3.2 画笔 19
1.3.3 画刷 19
1.3.4 颜色 20
1.3.5 绘制直线 21
1.3.6 绘制矩形 23
1.3.7 绘制椭圆 24
1.3.8 绘制圆弧 26
1.3.9 绘制多边形 27
第2章 自定义图形交互按钮 30
2.1 功能需求 30
2.2 软件设计 31
2.3 软件开发 31
2.3.1 新建Visual C#的Windows应用程序工程 31
2.3.2 新增按钮控件 32
2.3.3 定义按钮的属性 32
2.3.4 绘制控件用户界面 34
2.3.5 响应鼠标事件,实现动态效果 38
2.3.6 触发Click事件 40
2.3.7 测试控件 41
2.4 完成开发 41
小结 42
第3章 自定义数据网格控件 43
3.1 功能需求 43
3.2 软件设计 44
3.2.1 文档对象模型 44
3.2.2 视图控件 44
3.3 软件开发 45
3.3.1 建立表格文档对象模型 45
3.3.2 创建视图控件类型 49
3.3.3 加载数据 51
3.3.4 内容排版 52
3.3.5 绘制用户界面 54
3.3.6 处理鼠标事件 57
3.3.7 复制数据 60
3.3.8 系统预定义颜色 62
3.3.9 折射效应 63
3.4 测试控件 64
小结 66
第4章 鼠标签名 67
4.1 功能需求 67
4.2 软件设计 67
4.2.1 文档对象模型 68
4.2.2 视图控件 68
4.3 软件开发 68
4.3.1 PointArrayList轨迹点坐标数据列表 68
4.3.2 PenMarkInfo签名信息对象 74
4.3.3 PenMarkInfoDocument签名信息文档对象 77
4.3.4 PenMarkControl签名视图控件 80
小结 91
第5章 C# Web图形开发基础 92
5.1 Web开发和桌面图形开发比较 92
5.2 C# Web图形开发基本原理 93
小结 98
第6章 带超链接的饼图设计 99
6.1 概述 99
6.2 关键技术 100
6.2.1 map标签 100
6.2.2 Session对象 101
6.2.3 GraphicsPath类 102
6.2.4 Guid结构 103
6.2.5 Math类 104
6.3 软件设计 105
6.3.1 文档对象模型 105
6.3.2 程序结构设计 106
6.3.3 HTML设计 108
6.3.4 模拟扇形几何算法 109
6.4 软件开发 110
6.4.1 新建ASP.NET应用程序项目 110
6.4.2 饼图项目类 111
6.4.3 饼图项目列表类 112
6.4.4 饼图文档类 113
6.4.5 主页面 121
6.4.6 临时文件页面 123
6.4.7 订单信息页面 125
6.4.8 图片数据服务页面 128
小结 129
第7章 XML基础 130
7.1 XML发展历史 130
7.2 XML基本内容 131
7.2.1 XML介绍 131
7.2.2 XML衍生标准 134
7.2.3 国际标准 134
7.3 微软.NET框架对XML的支持 135
7.3.1 流式处理模型 135
7.3.2 DOM处理模型 136
7.3.3 其他处理模型 138
7.4 XML对Web开发的意义 138
7.4.1 XML和HTML 138
7.4.2 XML和WebService 139
7.4.3 XML/XSLT提供一种全新的开发模式 139
小结 139
第8章 安全获取数据库数据记录 140
8.1 概述 140
8.1.1 功能需求 140
8.1.2 需求分析 140
8.2 基础知识 142
8.2.1 XmlDocument类 142
8.2.2 XmlElement类 144
8.2.3 XmlTextWriter类 145
8.2.4 DBNull类 146
8.2.5 Response 147
8.2.6 using 149
8.3 关键技术 150
8.3.1 设置HTTP输出类型 153
8.3.2 XmlTextWriter与XmlDocument类输出XML文档 154
8.4 软件开发 154
8.4.1 新建ASP.NET应用程序项目 155
8.4.2 index页面设计 155
8.4.3 UseXmlTextWriter页面设计 156
8.4.4 UseXmlDocument页面设计 158
小结 160
第9章 XML/XSLT开发 161
9.1 概述 161
9.2 基础知识 161
9.2.1 XmlNode类 162
9.2.2 XmlNodeList类 163
9.2.3 StringWriter类 164
9.2.4 XslCompiledTransform类 164
9.2.5 〈pages〉标记与@Page指令 165
9.2.6 XPath介绍 166
9.2.7 XSLT介绍 168
9.2.8 ML/XSLT在Web开发中的应用 168
9.3 关键技术 170
9.4 软件开发 173
9.4.1 新建ASP.NET应用程序项目 173
9.4.2 index页面设计 174
9.4.3 head.xml文件设计 175
9.4.4 table.xml文件设计 175
9.4.5 table2.xml文件设计 176
9.4.6 UseXmlDocument页面设计 177
9.4.7 UseXmlTextWriter页面设计 182
9.4.8 TestXPath页面设计 186
小结 192
第10章 基于XSLT的代码生成器 193
10.1 基础知识 193
10.1.1 序列化 193
10.1.2 XmlSerializer类 195
10.1.3 特性(Attribute) 198
10.1.4 XmlNamespaceManager类 200
10.1.5 StringCollection类 201
10.1.6 CommandBehavior枚举 203
10.1.7 CollectionBase类 204
10.1.8 ICloneable接口 207
10.1.9 嵌套类 210
10.2 软件设计 212
10.2.1 代码生成器 212
10.2.2 数据来源 214
10.2.3 代码生成模板 214
10.3 软件开发 215
10.3.1 FieldInfo类的设计 217
10.3.2 TableInfo类的设计 222
10.3.3 DataBaseInfo类的设计 225
10.3.4 Default页面设计 241
10.3.5 XSLT模板 246
小结 256
第11章 高性能ASP.NET树状列表控件 257
11.1 树状列表控件 257
11.1.1 分析问题 258
11.1.2 解决问题 259
11.1.3 运行软件 261
11.2 基础知识 262
11.2.1 HtmlGenericControl类 262
11.2.2 自定义控件 264
11.3 软件设计 269
11.3.1 结构设计 269
11.3.2 目标HTML代码设计 270
11.3.3 脚本设计 272
11.3.4 节点XML文档设计 273
11.3.5 XSLT文档设计 275
11.4 软件开发 275
11.4.1 SkyTreeNode类设计 277
11.4.2 SkyTreeNodeList类设计 280
11.4.3 SkyTreeViewControl文件设计 282
11.4.4 SkyTreeViewControl.xslt文件设计 300
11.4.5 部署控件 306
11.4.6 Default页面设计 306
11.4.7 TreeViewNodeXml页面设计 311
小结 314
第12章 验证码技术 315
12.1 概述 315
12.2 关键技术 316
12.2.1 Size与SizeF结构 316
12.2.2 Font类 317
12.2.3 StringFormat类 318
12.2.4 StringBuilder类 320
12.3 验证码原理 321
12.3.1 枚举字典安全攻击 321
12.3.2 验证码防御 322
12.3.3 验证码技术概念 323
12.4 软件设计 324
12.5 软件开发 325
12.5.1 新建ASP.NET应用程序项目 325
12.5.2 验证码图片类 325
12.5.3 验证码图片服务页面 330
12.5.4 登录页面 331
小结 334
第13章 使用反射和特性构造ORM框架 335
13.1 ORM背景 335
13.2 基础知识 336
13.2.1 反射与特性 336
13.2.2 Object类 339
13.2.3 Hashtable类 339
13.2.4 TypeConverter类 341
13.2.5 TypeDescriptor类 342
13.2.6 IFormattable接口 343
13.2.7 PropertyInfo类 346
13.2.8 BindingFlags枚举 347
13.2.9 IEnumerable接口 350
13.2.10 Activator类 353
13.3 软件设计 353
13.4 软件开发 356
13.4.1 BindTableAttribute类的设计 360
13.4.2 BindFieldAttribute类的设计 362
13.4.3 MyORMFramework类的设计 364
13.4.4 DB_Employees类的设计 387
13.4.5 Default.aspx页面设计 391
13.5 部署ORM框架 396
小结 397
第14章 基于反射和动态编译的快速ORM框架 398
14.1 动态编译技术 398
14.2 基础知识 400
14.2.1 Assembly类 400
14.2.2 CSharpCodeProvider类 404
14.2.3 CompilerResults类 405
14.2.4 CompilerParameters类 406
14.2.5 StringCollection类 409
14.2.6 DefaultValueAttribute类 410
14.3 软件设计 410
14.4 软件开发 413
14.4.1 RecordORMHelper类设计 416
14.4.2 IndentTextWriter类设计 424
14.4.3 MyFastORMCodeGenerater类设计 427
14.4.4 MyFastORMFramework类设计 456
14.4.5 Default.aspx页面设计 471
14.5 部署快速ORM框架 476
小结 476
第15章 可快速绑定数据源程序框架 477
15.1 数据源绑定信息 477
15.2 微软.NET框架的设计时支持 478
15.2.1 属性列表过滤 479
15.2.2 属性值只读 480
15.2.3 属性默认值 480
15.2.4 属性说明文本 483
15.2.5 属性类别 483
15.2.6 使用扩展属性值编辑器 485
15.2.7 自定义扩展属性值编辑器 487
15.3 软件设计 496
15.3.1 数据库处理层 497
15.3.2 系统字典 506
15.3.3 数据源模块 513
15.3.4 数据源事件广播器 544
15.4 用户界面层设计 551
15.4.1 设计时支持模块 551
15.4.2 运行时支持模块 562
15.5 软件测试 575
15.5.1 测试用的数据库 575
15.5.2 窗体 576
15.5.3 程序移植 581
小结 581
第16章 基于动态编译的VB.NET脚本引擎 582
16.1 脚本的原理 582
16.1.1 VB.NET脚本原理 584
16.1.2 VB.NET脚本引擎设计 584
16.2 软件开发 586
16.2.1 参数控制属性 586
16.2.2 编译脚本 587
16.2.3 调用脚本 593
16.3 Window全局对象 595
16.3.1 成员属性 595
16.3.2 延时调用和定时调用 597
16.3.3 映射应用程序主窗体 601
16.3.4 显示消息框 602
16.4 测试脚本引擎 604
16.4.1 文档对象 607
16.4.2 创建全局对象容器 610
16.4.3 初始化脚本引擎 610
16.4.4 编辑脚本 612
16.4.5 运行脚本 613
16.4.6 演示用的脚本代码 614
16.5 部署脚本引擎 616
小结 616
第17章 开发Windows Service程序 617
17.1 Windows Service概念介绍 617
17.2 C#编写Windows服务的基本过程 621
17.3 软件功能需求 622
17.4 软件设计 623
17.4.1 命令行参数设计 623
17.4.2 数据库设计 623
17.4.3 文件系统监视功能设计 625
17.4.4 客户端设计 625
17.5 软件说明 625
17.5.1 客户端主界面frmClient 625
17.5.2 系统配置对话框dlgConfig 630
17.5.3 系统配置信息对象MyConfig 631
17.5.4 文件系统监视服务 633
17.5.5 管理数据库连接 637
17.5.6 启动程序 638
小结 640
第18章 文档对象模型 641
18.1 文档对象模型定义 641
18.1.1 文档 642
18.1.2 结构化文档 642
18.1.3 编程接口 642
18.1.4 页面呈现 643
18.2 理解文档对象模型 643
18.2.1 XMLDom研究 643
18.2.2 DOM概念内涵 645
18.2.3 DOM概念外延 646
小结 646