简介
本书在c#和.net的基础上,详细介绍了c#应用,如处理文本、文件、数据库、xml、windows窗体和控件、打印、asp.netweb应用、web服务以及远程机制等。还涉及异步、多线程、安全和部署等主题。本书每章末附有小结和习题,可帮助读者巩固书中概念。.
本书适合软件开发人员、高校相关专业师生学习和参考。
本书是有关c# 2.0 和.net 2.0的一本实用的参考书,是构建高品质c#应用的一本权威指南。书中提供了丰富的示例,充分展示了c# 2.0 和.net 2.0的特性。本书面向有经验的程序员,列举了当今常用的最佳实践,以便充分利用c# 2.0语言的特性和microsoft .net 2.0基础架构。..
本书重点讲解如何用实用的代码来解决具体的实际问题。本书的内容覆盖面很广,从新的c#范型到web服务,从反射到安全等都有涉及。系统地介绍了windows 窗体应用的开发,并讨论了如何有效地使用gdi+图形类。还对如何用xml和ado.net完成数据管理提供了详细的说明,另外深入地讨论了一些高级主题,包括线程、远程通信和代码安全等。最后,用很大篇幅介绍了web开发,包括asp.net、状态管理和http请求等等。本书还从实用的角度讨论了可扩展性到本地化等一系列问题。
◆ 提供了构建c#/.net windows应用、web应用和web服务的最佳实践。
◆从专家的角度详细分析安全性、可扩展性和其他重要问题。
◆大量专家级、高质量的代码示例。
◆深入地介绍包括范型等最新的c# 2.0特性。...
目录
序.
前言
第一部分 c#编程基础和.net概述
第1章 .net和c#介绍 1
1.1 .net框架概述 1
1.2 通用语言运行时clr 3
1.2.1 编译.net代码 3
1.2.2 通用类型系统 5
1.2.3 程序集 6
1.3 框架类库 9
1.4 使用.net框架和sdk 10
1.4.1 更新.net框架 11
1.4.2 .net框架工具 11
1.4.3 ildasm.exe 12
1.4.4 ildasm和模糊技术14
1.4.5 wincv.exe 14
1.4.6 框架配置工具 15
1.5 了解c#编译器 16
1.5.1 找到编译器 17
1.5.2 从命令行编译 17
.1.6 小结 19
1.7 习题 19
第2章 c#语言基础 20
2.1 c#程序的布局组成 20
2.2 基本类型 23
2.2.1 decimal 25
2.2.2 bool 25
2.2.3 char 25
2.2.4 byte和sbyte 25
2.2.5 short、int和long 26
2.2.6 single和double 26
2.2.7 使用parse和tryparse转换数字字符串 26
2.3 算术操作符、逻辑操作符和条件 操作符27
2.3.1 算术操作符 27
2.3.2 条件和关系操作符 27
2.3.3 流程控制语句 28
2.3.4 ifˉelse语句 29
2.3.5 switch语句 29
2.4 循环 30
2.4.1 while循环 30
2.4.2 do循环 31
2.4.3 for循环 31
2.4.4 foreach循环 32
2.4.5 循环中的跳转控制 32
2.5 c#预处理指令 33
2.5.1 条件编译 33
2.5.2 诊断指令 34
2.5.3 代码域 34
2.6 字符串 35
2.6.1 字符串直接量 35
2.6.2 字符串操作 35
2.7 枚举类型 37
2.7.1 使用枚举 38
2.7.2 system.enum的方法 39
2.7.3 枚举和位标志 39
2.8 数组 39
2.8.1 声明和创建数组 40
2.8.2 使用system.array的方法和成员属性40
2.9 引用类型和值类型 42
2.9.1 system.object和system.valuetype 43
2.9.2 引用类型和值类型的内存分配 43
2.9.3 装箱 43
2.9.4 值类型和引用类型差别小结 44
2.10 小结 45
2.11 习题 45
第3章 c#类设计 46
3.1 c#类简介 46
3.2 定义类 47
3.2.1 属性 47
3.2.2 访问修饰符 48
3.2.3 abstract、sealed和static修饰符 49
3.2.4 类标识符 49
3.2.5 基类、接口和继承 49
3.3 类成员概述 50
3.4 常量、字段和成员属性 50
3.4.1 常量 51
3.4.2 字段 51
3.4.3 成员属性 53
3.4.4 索引器 54
3.5 方法 56
3.5.1 方法修饰符 56
3.5.2 传递参数 59
3.6 构造函数 61
3.6.1 实例构造函数 61
3.6.2 私有构造函数 63
3.6.3 静态构造函数 64
3.7 委托和事件 65
3.7.1 委托 65
3.7.2 基于委托的事件处理 66
3.8 操作符重载 72
3.9 接口 74
3.9.1 创建和使用定制接口 74
3.9.2 使用接口 76
3.10 范型 77
3.11 结构 78
3.11.1 定义结构 79
3.11.2 使用结构的方法和成员属性 80
3.12 结构和类的比较 80
3.12.1 结构是值类型,类是引用类型 81
3.12.2 与类不同,结构不能被继承 81
3.12.3 选择结构或类的一般规则 81
3.13 小结 82
3.14 习题 82
第4章 使用c#对象 84
4.1 对象创建 84
4.2 异常处理 86
4.2.1 system.exception类 87
4.2.2 编写异常处理代码 87
4.2.3 例:处理通用systemexception异常 89
4.2.4 如何创建定制异常类 90
4.2.5 未处理异常 92
4.2.6 异常处理原则 93
4.3 定制类中实现system.object方法 93
4.3.1 用tostring()方法描述对象 94
4.3.2 比较对象的equals()方法 95
4.3.3 克隆来创建对象副本 97
4.4 使用.net集合类和接口 98
4.4.1 集合接口 98
4.4.2 system.collections命名空间 104
4.4.3 栈和队列 105
4.4.4 arraylist 106
4.4.5 hashtable 107
4.4.6 system.collections.generic命名空间109
4.5 对象串行化 111
4.6 对象生命周期管理 113
4.7 小结 117
4.8 习题 118
第二部分 使用.net框架类库创建应用
第5章 c#文本处理和文件i/o 119
5.1 字符和unicode 119
5.1.1 unicode 120
5.1.2 使用字符 120
5.2 string类 123
5.2.1 创建字符串 123
5.2.2 字符串操作概述 124
5.3 比较字符串 125
5.3.1 使用string.compare 125
5.3.2 使用string.compareordinal 126
5.4 搜索、修改和编码字符串内容 127
5.4.1 搜索字符串内容 127
5.4.2 搜索包含代理的字符串 127
5.4.3 字符串转换 128
5.4.4 字符串编码 129
5.5 stringbuilder 130
5.5.1 stringbuilder类概述 131
5.5.2 stringbuilder与字符串连接的比较 131
5.6 格式化数字和日期值 132
5.6.1 构造格式元素 132
5.6.2 格式化数字值 133
5.6.3 格式化日期和时间 134
5.7 正则表达式 137
5.7.1 regex类 137
5.7.2 创建正则表达式 140
5.7.3 模式匹配示例 141
5.7.4 使用组 143
5.7.5 示例:使用正则表达式 144
5.8 system.io:读写数据流的类 145
5.8.1 stream类 145
5.8.2 filestream 146
5.8.3 memorystream 147
5.8.4 bufferedstream 147
5.8.5 用streamreader和streamwriter读写文本行148
5.8.6 stringwriter和stringreader 150
5.8.7 使用cryptostream类加密 150
5.9 system.io:目录和文件 152
5.9.1 filesysteminfo 152
5.9.2 使用directoryinfo、directory和path类处理目录 153
5.9.3 使用fileinfo和file类处理文件 156
5.10 小结 157
5.11 习题 157
第6章 建立windows窗体应用 159
6.1 windows窗体编程 160
6.2 windows.forms控件类 162
6.2.1 control类 162
6.2.2 使用控件 163
6.2.3 控件事件 166
6.3 form类 170
6.3.1 设置窗体外观 170
6.3.2 设置窗体位置和大小 173
6.3.3 显示窗体 174
6.3.4 非模式窗体的生命周期 174
6.3.5 窗体交互——示例应用 175
6.3.6 属主和从属窗体 178
6.3.7 消息框和对话框 178
6.3.8 多文档界面窗体 180
6.4 使用菜单 183
6.4.1 menuitem属性 183
6.4.2 上下文菜单 183
6.5 为窗体增加帮助 185
6.5.1 tooltips 185
6.5.2 响应f1和帮助按钮 186
6.5.3 helpprovider组件 187
6.6 窗体继承 188
6.6.1 建立和使用窗体库 188
6.6.2 使用继承窗体 188 6.7
小结 189
6.8 习题 189
第7章 windows窗体控件 190
7.1 .net windows窗体控件概述 190
7.2 button类、groupbox、panel和label 192
7.2.1 button类 192
7.2.2 checkbox类 193
7.2.3 radiobutton类 193
7.2.4 groupbox类 195
7.2.5 panel类 195
7.2.6 label类 196
7.3 picturebox和textbox控件 197
7.3.1 picturebox类 197
7.3.2 textbox类 199
7.4 listbox、checkedlistbox和combobox类 200
7.4.1 listbox类 200
7.4.2 其他列表控件:combobox和checkedlistbox 203
7.5 listview和treeview类 204
7.5.1 listview类 204
7.5.2 treeview类 208
7.6 progressbar、timer和statusstrip类 212
7.7 建立定制控件 214
7.7.1 扩展控件 214
7.7.2 建立定制用户控件 214
7.7.3 用户控件示例 214
7.7.4 使用定制用户控件 216
7.7.5 设计时使用用户控件 217
7.8 拖放控件 217
7.9 使用资源 220
7.9.1 使用资源文件 221
7.9.2 用资源文件创建本地化窗体 223
7.10 小结 225
7.11 习题 225
第8章 使用gdi+的.net图形 226
8.1 gdi+概述 226
8.1.1 graphics类 227
8.1.2 paint事件 229
8.2 使用graphics对象 231
8.2.1 基本二维图形 231
8.2.2 pen 234
8.2.3 brush 236
8.2.4 color 239
8.2.5 示例:建立颜色浏览器 240
8.3 图像 243
8.3.1 加载和存储图像 244
8.3.2 处理图像 246
8.3.3 示例:使用图像 247
8.3.4 microsoft windows平台gdi和bitblt的有关提示 252
8.4 小结 253
8.5 习题 253
第9章 字体、文本和打印.. 255
9.1 字体 255
9.1.1 字体族 256
9.1.2 font类 256
9.2 绘制文本串 258
9.2.1 绘制多行文本259
9.2.2 用stringformat类格式化字符串 259
9.2.3 使用制表位 260
9.2.4 字符串截断、对齐和自动换行 261
9.3 打印 262
9.3.1 概述 262
9.3.2 printdocument类 263
9.3.3 打印机设置 264
9.3.4 页面设置 265
9.3.5 printdocument事件 266
9.3.6 printpage事件 267
9.3.7 预览打印报表 268
9.3.8 报表示例 269
9.3.9 创建定制printdocument类 271
9.4 小结 273
9.5 习题 273
第10章 在.net中使用xml 275
10.1 使用xml 275
10.1.1 使用xml串行化创建xml数据 276
10.1.2 xml模式定义(xsd) 278
10.1.3 使用xml样式表 280
10.2 xml数据读取技术 281
10.2.1 xmlreader类 282
10.2.2 xmlnodereader类 285
10.2.3 xmlreadersettings类 286
10.2.4 用xml模式验证xml数据 287
10.2.5 读取xml数据的其他方法 287
10.3 xml数据写出技术 288
10.4 用xpath搜索xml 290
10.4.1 构造xpath查询 290
10.4.2 xmldocument和xpath 292
10.4.3 xpathdocument和xpath 292
10.4.4 xmldatadocument和xpath 293
10.5 小结 295
10.6 习题 295
第11章 ado.net 296
11.1 ado.net体系结构概述 296
11.1.1 .net中的ole db数据提供者 297
11.1.2 .net数据提供者 297
11.2 数据访问模型:连接模型和无连接模型299
11.2.1 连接模型 299
11.2.2 无连接模型 300
11.3 ado.net连接模型 301
11.3.1 连接类 301
11.3.2 命令对象 304
11.3.3 datareader对象 307
11.4 数据集、数据表和无连接模型 308
11.4.1 dataset类 309
11.4.2 数据表 309
11.4.3 向dataset加载数据 312
11.4.4 定义dataset中表之间的关系 316
11.4.5 连接模型和无连接模型的选择 318
11.5 xml和ado.net 318
11.5.1 用dataset创建xml数据和模式文件 318
11.5.2 从xml创建dataset模式 320
11.5.3 将xml数据读入dataset 320
11.6 小结 322
11.7 习题 322
第12章 windows窗体控件的数据绑定 324
12.1 数据绑定概述 324
12.1.1 简单数据绑定 325
12.1.2 与列表控件的复杂绑定 326
12.1.3 单向和双向数据绑定 327
12.1.4 使用绑定管理器 328
12.2 应用中使用简单和复杂数据绑定 330
12.2.1 绑定到datatable 330
12.2.2 控件绑定到arraylist 332
12.2.3 向数据源添加元素 334
12.2.4 验证更新 335
12.2.5 更新原始数据库 335
12.3 datagridview类 336
12.3.1 成员属性 336
12.3.2 事件 341
12.3.3 建立主表-明细表datagridview 344
12.3.4 虚拟模式 346
12.4 小结 349
12.5 习题 350
第三部分 c#和.net框架的高级使用
第13章 异步编程和多线程 351
13.1 什么是线程 351
13.2 异步编程 353
13.2.1 异步委托 354
13.2.2 实现异步调用的示例 356
13.3 直接使用线程 362
13.3.1 创建和使用线程 362
13.3.2 多线程实际应用 365
13.3.3 使用线程池 367
13.3.4 定时器 368
13.4 线程同步 369
13.4.1 synchronization属性 371
13.4.2 monitor类 371
13.4.3 mutex 372
13.4.4 semaphore 373
13.4.5 避免死锁 374
13.4.6 同步技术小结 375
13.5 小结 375
13.6 习题 376
第14章 利用远程通信创建分布式应用 378
14.1 应用域 378
14.1.1 应用域的优点 378
14.1.2 应用域和程序集 379
14.1.3 使用appdomain类 379
14.2 远程通信 381
14.2.1 远程通信体系结构 382
14.2.2 远程通信类型384
14.2.3 客户端激活对象 386
14.2.4 服务器激活对象 386
14.2.5 类型注册 387
14.2.6 与服务器激活对象sao的远程通信 389
14.2.7 与客户端激活对象cao的远程通信 395
14.2.8 分布式应用的设计原则 399
14.3 租约和缔约 400
14.3.1 租约 400
14.3.2 缔约 402
14.4 小结 404
14.5 习题 404
第15章 代码优化、安全与部署 406
15.1 遵循.net代码设计准则 407
15.2 强命名程序集 409
15.2.1 创建强命名程序集 410
15.2.2 延迟签名 411
15.2.3 全局程序集缓存(gac) 411
15.2.4 版本 412
15.3 安全 412
15.3.1 权限和权限集 413
15.3.2 证据 416
15.3.3 安全策略 418
15.3.4 配置安全策略 419
15.3.5 .net框架配置工具 420
15.3.6 示例:使用配置工具配置代码访问安全 422
15.3.7 为程序集请求权限 424
15.3.8 程序式安全 426
15.4 部署应用的有关考虑 431
15.4.1 microsoft windows部署:xcopy部署与windows installer 431
15.4.2 程序集部署到gac中 431
15.4.3 部署私有程序集 432
15.4.4 使用codebase配置 432
15.4.5 使用配置文件管理程序集的多个版本 433
15.4.6 程序集版本和产品信息 433
15.5 小结 434
15.6 习题 434
第四部分 internet编程
第16章 asp.net web表单和控件 437
16.1 internet的客户端-服务器交互 438
16.1.1 web应用示例:实现bmi计算器 438
16.1.2 使用asp.net实现bmi计算器 441
16.1.3 内联代码模型 442
16.1.4 代码隐藏模型 447
16.1.5 部分类代码隐藏 449
16.1.6 page类 450
16.2 web表单控件 452
16.2.1 web控件概述 453
16.2.2 指定web控件的外观 454
16.2.3 简单控件 454
16.2.4 列表控件 457
16.2.5 datalist控件 459
16.3 数据绑定和数据源控件 461
16.3.1 绑定到datareader 461
16.3.2 绑定到dataset 463
16.3.3 数据源控件 464
16.4 验证控件 469
16.5 母版页和内容页 472
16.5.1 创建母版页 473
16.5.2 创建内容页 474
16.5.3 从内容页访问母版页 475
16.6 建立和使用定制web控件 475
16.6.1 定制控件示例 476
16.6.2 使用定制控件 477
16.6.3 控件状态管理 478
16.6.4 复合控件 479
16.7 选择web控件显示数据 481
16.8 小结 481
16.9 习题 481
第17章 asp.net应用环境 483
17.1 http请求和响应类 483
17.1.1 httprequest对象 484
17.1.2 httpresponse对象 486
17.2 asp.net和配置文件 489
17.2.1 web.config剖析 490
17.2.2 增加定制配置段 493
17.3 asp.net应用安全 495
17.3.1 表单认证 495
17.3.2 表单认证示例 497
17.4 状态维护 500
17.4.1 应用状态 501
17.4.2 会话状态 502
17.5 缓存 504
17.5.1 页面输出缓存 504
17.5.2 数据缓存 506
17.6 用webrequest和webresponse创建web客户508
17.6.1 webrequest和webresponse类 508
17.6.2 web客户示例 509
17.7 http管线 510
17.7.1 管线中处理请求 510
17.7.2 httpapplication类 512
17.7.3 http模块 514
17.7.4 http处理器 517
17.8 小结 520
17.9 习题 520
第18章 xml web服务 521
18.1 web服务简介 521
18.1.1 发现和使用web服务 522
18.1.2 uddi简介 522
18.2 构建xml web服务 524
18.2.1 手动创建web服务 525
18.2.2 用vs.net创建web服务 527
18.2.3 用webservice和webmethod属性扩展web服务 528
18.3 构建xml web服务客户 530
18.3.1 创建简单的客户来访问web服务类 530
18.3.2 用visual studio.net创建代理 536
18.4 理解wsdl和soap 537
18.4.1 wsdl 537
18.4.2 soap 539
18.5 在web服务中使用复杂数据类型 544
18.5.1 返回图像的web服务 544
18.5.2 使用amazon web服务 545
18.5.3 为amazon web服务创建代理 547
18.5.4 构建winforms web服务客户 548
18.6 web服务性能 550
18.6.1 配置http连接 550
18.6.2 处理大量数据 551
18.7 小结 551
18.8 习题 551
附录
附录a .net2.0和c#2.0的特有特性 553
附录b datagridview事件和委托 555
习题答案... 563
前言
第一部分 c#编程基础和.net概述
第1章 .net和c#介绍 1
1.1 .net框架概述 1
1.2 通用语言运行时clr 3
1.2.1 编译.net代码 3
1.2.2 通用类型系统 5
1.2.3 程序集 6
1.3 框架类库 9
1.4 使用.net框架和sdk 10
1.4.1 更新.net框架 11
1.4.2 .net框架工具 11
1.4.3 ildasm.exe 12
1.4.4 ildasm和模糊技术14
1.4.5 wincv.exe 14
1.4.6 框架配置工具 15
1.5 了解c#编译器 16
1.5.1 找到编译器 17
1.5.2 从命令行编译 17
.1.6 小结 19
1.7 习题 19
第2章 c#语言基础 20
2.1 c#程序的布局组成 20
2.2 基本类型 23
2.2.1 decimal 25
2.2.2 bool 25
2.2.3 char 25
2.2.4 byte和sbyte 25
2.2.5 short、int和long 26
2.2.6 single和double 26
2.2.7 使用parse和tryparse转换数字字符串 26
2.3 算术操作符、逻辑操作符和条件 操作符27
2.3.1 算术操作符 27
2.3.2 条件和关系操作符 27
2.3.3 流程控制语句 28
2.3.4 ifˉelse语句 29
2.3.5 switch语句 29
2.4 循环 30
2.4.1 while循环 30
2.4.2 do循环 31
2.4.3 for循环 31
2.4.4 foreach循环 32
2.4.5 循环中的跳转控制 32
2.5 c#预处理指令 33
2.5.1 条件编译 33
2.5.2 诊断指令 34
2.5.3 代码域 34
2.6 字符串 35
2.6.1 字符串直接量 35
2.6.2 字符串操作 35
2.7 枚举类型 37
2.7.1 使用枚举 38
2.7.2 system.enum的方法 39
2.7.3 枚举和位标志 39
2.8 数组 39
2.8.1 声明和创建数组 40
2.8.2 使用system.array的方法和成员属性40
2.9 引用类型和值类型 42
2.9.1 system.object和system.valuetype 43
2.9.2 引用类型和值类型的内存分配 43
2.9.3 装箱 43
2.9.4 值类型和引用类型差别小结 44
2.10 小结 45
2.11 习题 45
第3章 c#类设计 46
3.1 c#类简介 46
3.2 定义类 47
3.2.1 属性 47
3.2.2 访问修饰符 48
3.2.3 abstract、sealed和static修饰符 49
3.2.4 类标识符 49
3.2.5 基类、接口和继承 49
3.3 类成员概述 50
3.4 常量、字段和成员属性 50
3.4.1 常量 51
3.4.2 字段 51
3.4.3 成员属性 53
3.4.4 索引器 54
3.5 方法 56
3.5.1 方法修饰符 56
3.5.2 传递参数 59
3.6 构造函数 61
3.6.1 实例构造函数 61
3.6.2 私有构造函数 63
3.6.3 静态构造函数 64
3.7 委托和事件 65
3.7.1 委托 65
3.7.2 基于委托的事件处理 66
3.8 操作符重载 72
3.9 接口 74
3.9.1 创建和使用定制接口 74
3.9.2 使用接口 76
3.10 范型 77
3.11 结构 78
3.11.1 定义结构 79
3.11.2 使用结构的方法和成员属性 80
3.12 结构和类的比较 80
3.12.1 结构是值类型,类是引用类型 81
3.12.2 与类不同,结构不能被继承 81
3.12.3 选择结构或类的一般规则 81
3.13 小结 82
3.14 习题 82
第4章 使用c#对象 84
4.1 对象创建 84
4.2 异常处理 86
4.2.1 system.exception类 87
4.2.2 编写异常处理代码 87
4.2.3 例:处理通用systemexception异常 89
4.2.4 如何创建定制异常类 90
4.2.5 未处理异常 92
4.2.6 异常处理原则 93
4.3 定制类中实现system.object方法 93
4.3.1 用tostring()方法描述对象 94
4.3.2 比较对象的equals()方法 95
4.3.3 克隆来创建对象副本 97
4.4 使用.net集合类和接口 98
4.4.1 集合接口 98
4.4.2 system.collections命名空间 104
4.4.3 栈和队列 105
4.4.4 arraylist 106
4.4.5 hashtable 107
4.4.6 system.collections.generic命名空间109
4.5 对象串行化 111
4.6 对象生命周期管理 113
4.7 小结 117
4.8 习题 118
第二部分 使用.net框架类库创建应用
第5章 c#文本处理和文件i/o 119
5.1 字符和unicode 119
5.1.1 unicode 120
5.1.2 使用字符 120
5.2 string类 123
5.2.1 创建字符串 123
5.2.2 字符串操作概述 124
5.3 比较字符串 125
5.3.1 使用string.compare 125
5.3.2 使用string.compareordinal 126
5.4 搜索、修改和编码字符串内容 127
5.4.1 搜索字符串内容 127
5.4.2 搜索包含代理的字符串 127
5.4.3 字符串转换 128
5.4.4 字符串编码 129
5.5 stringbuilder 130
5.5.1 stringbuilder类概述 131
5.5.2 stringbuilder与字符串连接的比较 131
5.6 格式化数字和日期值 132
5.6.1 构造格式元素 132
5.6.2 格式化数字值 133
5.6.3 格式化日期和时间 134
5.7 正则表达式 137
5.7.1 regex类 137
5.7.2 创建正则表达式 140
5.7.3 模式匹配示例 141
5.7.4 使用组 143
5.7.5 示例:使用正则表达式 144
5.8 system.io:读写数据流的类 145
5.8.1 stream类 145
5.8.2 filestream 146
5.8.3 memorystream 147
5.8.4 bufferedstream 147
5.8.5 用streamreader和streamwriter读写文本行148
5.8.6 stringwriter和stringreader 150
5.8.7 使用cryptostream类加密 150
5.9 system.io:目录和文件 152
5.9.1 filesysteminfo 152
5.9.2 使用directoryinfo、directory和path类处理目录 153
5.9.3 使用fileinfo和file类处理文件 156
5.10 小结 157
5.11 习题 157
第6章 建立windows窗体应用 159
6.1 windows窗体编程 160
6.2 windows.forms控件类 162
6.2.1 control类 162
6.2.2 使用控件 163
6.2.3 控件事件 166
6.3 form类 170
6.3.1 设置窗体外观 170
6.3.2 设置窗体位置和大小 173
6.3.3 显示窗体 174
6.3.4 非模式窗体的生命周期 174
6.3.5 窗体交互——示例应用 175
6.3.6 属主和从属窗体 178
6.3.7 消息框和对话框 178
6.3.8 多文档界面窗体 180
6.4 使用菜单 183
6.4.1 menuitem属性 183
6.4.2 上下文菜单 183
6.5 为窗体增加帮助 185
6.5.1 tooltips 185
6.5.2 响应f1和帮助按钮 186
6.5.3 helpprovider组件 187
6.6 窗体继承 188
6.6.1 建立和使用窗体库 188
6.6.2 使用继承窗体 188 6.7
小结 189
6.8 习题 189
第7章 windows窗体控件 190
7.1 .net windows窗体控件概述 190
7.2 button类、groupbox、panel和label 192
7.2.1 button类 192
7.2.2 checkbox类 193
7.2.3 radiobutton类 193
7.2.4 groupbox类 195
7.2.5 panel类 195
7.2.6 label类 196
7.3 picturebox和textbox控件 197
7.3.1 picturebox类 197
7.3.2 textbox类 199
7.4 listbox、checkedlistbox和combobox类 200
7.4.1 listbox类 200
7.4.2 其他列表控件:combobox和checkedlistbox 203
7.5 listview和treeview类 204
7.5.1 listview类 204
7.5.2 treeview类 208
7.6 progressbar、timer和statusstrip类 212
7.7 建立定制控件 214
7.7.1 扩展控件 214
7.7.2 建立定制用户控件 214
7.7.3 用户控件示例 214
7.7.4 使用定制用户控件 216
7.7.5 设计时使用用户控件 217
7.8 拖放控件 217
7.9 使用资源 220
7.9.1 使用资源文件 221
7.9.2 用资源文件创建本地化窗体 223
7.10 小结 225
7.11 习题 225
第8章 使用gdi+的.net图形 226
8.1 gdi+概述 226
8.1.1 graphics类 227
8.1.2 paint事件 229
8.2 使用graphics对象 231
8.2.1 基本二维图形 231
8.2.2 pen 234
8.2.3 brush 236
8.2.4 color 239
8.2.5 示例:建立颜色浏览器 240
8.3 图像 243
8.3.1 加载和存储图像 244
8.3.2 处理图像 246
8.3.3 示例:使用图像 247
8.3.4 microsoft windows平台gdi和bitblt的有关提示 252
8.4 小结 253
8.5 习题 253
第9章 字体、文本和打印.. 255
9.1 字体 255
9.1.1 字体族 256
9.1.2 font类 256
9.2 绘制文本串 258
9.2.1 绘制多行文本259
9.2.2 用stringformat类格式化字符串 259
9.2.3 使用制表位 260
9.2.4 字符串截断、对齐和自动换行 261
9.3 打印 262
9.3.1 概述 262
9.3.2 printdocument类 263
9.3.3 打印机设置 264
9.3.4 页面设置 265
9.3.5 printdocument事件 266
9.3.6 printpage事件 267
9.3.7 预览打印报表 268
9.3.8 报表示例 269
9.3.9 创建定制printdocument类 271
9.4 小结 273
9.5 习题 273
第10章 在.net中使用xml 275
10.1 使用xml 275
10.1.1 使用xml串行化创建xml数据 276
10.1.2 xml模式定义(xsd) 278
10.1.3 使用xml样式表 280
10.2 xml数据读取技术 281
10.2.1 xmlreader类 282
10.2.2 xmlnodereader类 285
10.2.3 xmlreadersettings类 286
10.2.4 用xml模式验证xml数据 287
10.2.5 读取xml数据的其他方法 287
10.3 xml数据写出技术 288
10.4 用xpath搜索xml 290
10.4.1 构造xpath查询 290
10.4.2 xmldocument和xpath 292
10.4.3 xpathdocument和xpath 292
10.4.4 xmldatadocument和xpath 293
10.5 小结 295
10.6 习题 295
第11章 ado.net 296
11.1 ado.net体系结构概述 296
11.1.1 .net中的ole db数据提供者 297
11.1.2 .net数据提供者 297
11.2 数据访问模型:连接模型和无连接模型299
11.2.1 连接模型 299
11.2.2 无连接模型 300
11.3 ado.net连接模型 301
11.3.1 连接类 301
11.3.2 命令对象 304
11.3.3 datareader对象 307
11.4 数据集、数据表和无连接模型 308
11.4.1 dataset类 309
11.4.2 数据表 309
11.4.3 向dataset加载数据 312
11.4.4 定义dataset中表之间的关系 316
11.4.5 连接模型和无连接模型的选择 318
11.5 xml和ado.net 318
11.5.1 用dataset创建xml数据和模式文件 318
11.5.2 从xml创建dataset模式 320
11.5.3 将xml数据读入dataset 320
11.6 小结 322
11.7 习题 322
第12章 windows窗体控件的数据绑定 324
12.1 数据绑定概述 324
12.1.1 简单数据绑定 325
12.1.2 与列表控件的复杂绑定 326
12.1.3 单向和双向数据绑定 327
12.1.4 使用绑定管理器 328
12.2 应用中使用简单和复杂数据绑定 330
12.2.1 绑定到datatable 330
12.2.2 控件绑定到arraylist 332
12.2.3 向数据源添加元素 334
12.2.4 验证更新 335
12.2.5 更新原始数据库 335
12.3 datagridview类 336
12.3.1 成员属性 336
12.3.2 事件 341
12.3.3 建立主表-明细表datagridview 344
12.3.4 虚拟模式 346
12.4 小结 349
12.5 习题 350
第三部分 c#和.net框架的高级使用
第13章 异步编程和多线程 351
13.1 什么是线程 351
13.2 异步编程 353
13.2.1 异步委托 354
13.2.2 实现异步调用的示例 356
13.3 直接使用线程 362
13.3.1 创建和使用线程 362
13.3.2 多线程实际应用 365
13.3.3 使用线程池 367
13.3.4 定时器 368
13.4 线程同步 369
13.4.1 synchronization属性 371
13.4.2 monitor类 371
13.4.3 mutex 372
13.4.4 semaphore 373
13.4.5 避免死锁 374
13.4.6 同步技术小结 375
13.5 小结 375
13.6 习题 376
第14章 利用远程通信创建分布式应用 378
14.1 应用域 378
14.1.1 应用域的优点 378
14.1.2 应用域和程序集 379
14.1.3 使用appdomain类 379
14.2 远程通信 381
14.2.1 远程通信体系结构 382
14.2.2 远程通信类型384
14.2.3 客户端激活对象 386
14.2.4 服务器激活对象 386
14.2.5 类型注册 387
14.2.6 与服务器激活对象sao的远程通信 389
14.2.7 与客户端激活对象cao的远程通信 395
14.2.8 分布式应用的设计原则 399
14.3 租约和缔约 400
14.3.1 租约 400
14.3.2 缔约 402
14.4 小结 404
14.5 习题 404
第15章 代码优化、安全与部署 406
15.1 遵循.net代码设计准则 407
15.2 强命名程序集 409
15.2.1 创建强命名程序集 410
15.2.2 延迟签名 411
15.2.3 全局程序集缓存(gac) 411
15.2.4 版本 412
15.3 安全 412
15.3.1 权限和权限集 413
15.3.2 证据 416
15.3.3 安全策略 418
15.3.4 配置安全策略 419
15.3.5 .net框架配置工具 420
15.3.6 示例:使用配置工具配置代码访问安全 422
15.3.7 为程序集请求权限 424
15.3.8 程序式安全 426
15.4 部署应用的有关考虑 431
15.4.1 microsoft windows部署:xcopy部署与windows installer 431
15.4.2 程序集部署到gac中 431
15.4.3 部署私有程序集 432
15.4.4 使用codebase配置 432
15.4.5 使用配置文件管理程序集的多个版本 433
15.4.6 程序集版本和产品信息 433
15.5 小结 434
15.6 习题 434
第四部分 internet编程
第16章 asp.net web表单和控件 437
16.1 internet的客户端-服务器交互 438
16.1.1 web应用示例:实现bmi计算器 438
16.1.2 使用asp.net实现bmi计算器 441
16.1.3 内联代码模型 442
16.1.4 代码隐藏模型 447
16.1.5 部分类代码隐藏 449
16.1.6 page类 450
16.2 web表单控件 452
16.2.1 web控件概述 453
16.2.2 指定web控件的外观 454
16.2.3 简单控件 454
16.2.4 列表控件 457
16.2.5 datalist控件 459
16.3 数据绑定和数据源控件 461
16.3.1 绑定到datareader 461
16.3.2 绑定到dataset 463
16.3.3 数据源控件 464
16.4 验证控件 469
16.5 母版页和内容页 472
16.5.1 创建母版页 473
16.5.2 创建内容页 474
16.5.3 从内容页访问母版页 475
16.6 建立和使用定制web控件 475
16.6.1 定制控件示例 476
16.6.2 使用定制控件 477
16.6.3 控件状态管理 478
16.6.4 复合控件 479
16.7 选择web控件显示数据 481
16.8 小结 481
16.9 习题 481
第17章 asp.net应用环境 483
17.1 http请求和响应类 483
17.1.1 httprequest对象 484
17.1.2 httpresponse对象 486
17.2 asp.net和配置文件 489
17.2.1 web.config剖析 490
17.2.2 增加定制配置段 493
17.3 asp.net应用安全 495
17.3.1 表单认证 495
17.3.2 表单认证示例 497
17.4 状态维护 500
17.4.1 应用状态 501
17.4.2 会话状态 502
17.5 缓存 504
17.5.1 页面输出缓存 504
17.5.2 数据缓存 506
17.6 用webrequest和webresponse创建web客户508
17.6.1 webrequest和webresponse类 508
17.6.2 web客户示例 509
17.7 http管线 510
17.7.1 管线中处理请求 510
17.7.2 httpapplication类 512
17.7.3 http模块 514
17.7.4 http处理器 517
17.8 小结 520
17.9 习题 520
第18章 xml web服务 521
18.1 web服务简介 521
18.1.1 发现和使用web服务 522
18.1.2 uddi简介 522
18.2 构建xml web服务 524
18.2.1 手动创建web服务 525
18.2.2 用vs.net创建web服务 527
18.2.3 用webservice和webmethod属性扩展web服务 528
18.3 构建xml web服务客户 530
18.3.1 创建简单的客户来访问web服务类 530
18.3.2 用visual studio.net创建代理 536
18.4 理解wsdl和soap 537
18.4.1 wsdl 537
18.4.2 soap 539
18.5 在web服务中使用复杂数据类型 544
18.5.1 返回图像的web服务 544
18.5.2 使用amazon web服务 545
18.5.3 为amazon web服务创建代理 547
18.5.4 构建winforms web服务客户 548
18.6 web服务性能 550
18.6.1 配置http连接 550
18.6.2 处理大量数据 551
18.7 小结 551
18.8 习题 551
附录
附录a .net2.0和c#2.0的特有特性 553
附录b datagridview事件和委托 555
习题答案... 563
Core C# and .NET
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×