简介
重点内容及特色:
*本书全面介绍了C# 3.0基础知识和高级开发技术,特别对WPF、WCF、WF和LINQ等新特性做了重点讲解,几乎涉及C#开发的所有内容。
*本书深入讲解了多线程编程、XML编程等开发技术,这些知识在其他C#入门级书籍中很少涉及,或者一笔带过而没有深入分析。
*本书在对实例进行设计时,不仅介绍了方法的具体应用,而且力求体现面向对象的特性,将类设计得尽善尽美。可以说本书不仅是一本很好的C#语言入门书籍,也是一本很好的面向对象设计思想和设计模式的入门书籍。
*本书对示例的选择尽量从实际出发,很多实例都是作者所出的面试题。通过阅读本书,读者不但能系统地掌握知识,更快地融入到开发中,而且可以在求职时获得很大的启发。
*和国外的一些经典图书相比,本书无论是对知识点的讲解还是对实例的选择都更贴近中国读者,理解起来更加容易,上手更快。
读者对象:
*想要全面学习C#语言的人员
*各类.NET平台下的程序员
*.NET培训班的培训学员和老师
*需要一本案头必备查询手册的程序员
*其他编程爱好者
...
目录
第1篇 开发环境及c#语言简介.
第1章 visual studio 2008介绍 2
1.1 .net概述 2
1.1.1 .net发展史 2
1.1.2 中间语言 3
1.1.3 垃圾收集器 4
1.2 .net framework 概述 5
1.2.1 .net framework 概述 5
1.2.2 公共语言运行时 7
1.2.3 基类库 7
1.2.4 公共语言运行规范 9
1.3 visual studio 2008的新特性 9
1.4 visual studio 2008开发环境介绍 10
1.4.1 visual studio 2008的安装 10
1.4.2 项目模板 12
1.4.3 网站模板 14
1.4.4 文件模板 15
1.4.5 visual studio 2008 ide 概述 16
1.4.6 visual studio 2008的开发工具栏和菜单栏 17
1.4.7 对象浏览器和类视图 20
.1.4.8 工具箱和属性窗口 21
1.5 定制环境 22
1.5.1 修改字体和颜色 23
1.5.2 定制帮助位置 23
1.5.3 在项目和解决方案中保存文件 23
1.5.4 任务列表和注释 24
1.5.5 命令窗口 25
1.5.6 行号与代码折叠 26
1.5.7 窗口管理 27
1.5.8 调试与生成 28
1.6 学会使用msdn帮助系统 30
1.7 visual studio 2008编程示例 31
1.8 本章总结 33
第2章 c#简介 35
2.1 c#与.net的关系 35
2.2 c#的主要特点 35
2.2.1 简单性 36
2.2.2 类型统一性 39
2.2.3 面向对象性 39
2.2.4 类型安全性 40
2.2.5 兼容性 41
2.3 c#与其他语言对比 42
2.4 c#与vb.net. 42
2.4.1 代码显示 42
2.4.2 数据类型和变量 43
2.4.3 类、数据类型、函数以及接口 44
2.4.4 操作符与表达式 44
2.4.5 控制流程语言 45
2.4.6 on error语句 47
2.4.7 关键字 47
2.4.8 访问修饰符 48
2.4.9 语法 48
2.4.10 c#与vb.net代码比较 48
2.5 c#与c++ 52
2.5.1 托管的环境 52
2.5.2 .net对象 52
2.5.3 c#的语句 52
2.5.4 c#中取消的要素 53
2.5.5 操作符重载 53
2.5.6 头文件 53
2.5.7 程序书写 53
2.5.8 指针 54
2.5.9 虚函数 54
2.5.10 c#与c++代码比较 56
2.6 c#与java 57
2.6.1 数据类型(data type) 57
2.6.2 类(class) 58
2.6.3 属性(property) 59
2.6.4 事件(event)、指针(pointer)与界面 60
2.6.5 c#与java代码比较 60
2.7 本章总结 61
第2篇 c#程序设计基础
第3章 c#数据类型 64
3.1 数据类型 64
3.2 值类型 65
3.2.1 值类型概述 65
3.2.2 整型 66
3.2.3 字符型 67
3.2.4 浮点型 68
3.2.5 小数型 69
3.2.6 布尔型 69
3.2.7 c#的数值类型 69
3.3 引用类型 70
3.3.1 引用类型概述 70
3.3.2 类类型 71
3.3.3 对象类型 71
3.3.4 字符串类型 71
3.3.5 接口类型 73
3.4 类型转换 75
3.4.1 类型转换概述 75
3.4.2 显式转换 76
3.4.3 隐式转换 76
3.4.4 两种数值类型之间的转换 77
3.4.5 数值类型和字符串之间的转换 78
3.4.6 字符的ascii码和unicode码之间的转换 80
3.4.7 字符串和字符数组之间的转换 81
3.4.8 字符串和字节数组之间的转换 83
3.4.9 数值类型和字节数组之间的转换 84
3.4.10 各个类型之间的强制转换 85
3.5 复杂数据类型 86
3.5.1 枚举概述 86
3.5.2 枚举编程示例 87
3.5.3 结构概述 88
3.5.4 结构编程示例 89
3.5.5 结构中的方法 90
3.5.6 结构与类的区别 92
3.5.7 结构的适用范围 92
3.6 本章总结 92
第4章 变量与表达式 93
4.1 常量与变量 93
4.1.1 常量概述 93
4.1.2 静态常量 93
4.1.3 动态常量 94
4.1.4 编程中的常量 94
4.1.5 变量概述 95
4.1.6 变量的实质 96
4.1.7 变量的分类 97
4.1.8 变量的命名规范 99
4.2 运算符与表达式 100
4.2.1 运算符的分类 100
4.2.2 算术运算符 100
4.2.3 关系运算符 103
4.2.4 一般赋值运算符 104
4.2.5 复合赋值运算符 105
4.2.6 逻辑运算符 107
4.2.7 二进制计算 110
4.2.8 位运算符 111
4.2.9 三元运算符 114
4.2.10 自增和自减运算符 114
4.2.11 运算符的优先级 116
4.3 关键字 117
4.4 本章总结 117
第5章 程序控制语言 118
5.1 c#语句分类 118
5.2 选择语句 119
5.2.1 选择语句概述 119
5.2.2 if语句简介 119
5.2.3 单条选择if语句 120
5.2.4 if…else…语句 121
5.2.5 复杂if…else…语句 122
5.2.6 嵌套语句 124
5.2.7 switch语句概述 126
5.2.8 switch语句编程示例 127
5.3 循环语句 128
5.3.1 do循环 128
5.3.2 while循环 129
5.3.3 for循环 130
5.3.4 foreach循环语句 132
5.4 跳转语句 133
5.4.1 break语句 133
5.4.2 continue语句 135
5.4.3 return语句 136
5.4.4 goto语句与标志符 137
5.4.5 goto语句与switch语句 138
5.4.6 goto语句与嵌套循环语句 139
5.4.7 throw语句 141
5.5 注释语句 142
5.5.1 普通注释语句 143
5.5.2 利用注释语句生成帮助文档 144
5.6 本章总结 145
第6章 函数与方法 146
6.1 定义和使用函数 146
6.1.1 函数与方法 146
6.1.2 函数的表达形式 146
6.2 参数与返回值 147
6.2.1 参数 147
6.2.2 值参数(value parameter) 147
6.2.3 引用参数(reference parameter) 148
6.2.4 输出参数(output parameter) 151
6.2.5 数组参数(array parameter) 152
6.2.6 利用返回值获取数值 153
6.2.7 利用返回值判断逻辑 155
6.3 变量的作用域 157
6.3.1 局部变量 157
6.3.2 全局变量 159
6.4 main()函数 160
6.5 常用函数 163
6.6 本章总结 165
第3篇 c面向对象简介
第7章 类和对象 168
7.1 类和对象简述 168
7.2 类的定义 169
7.2.1 类概述 169
7.2.2 访问类型 171
7.2.3 成员方法 172
7.3 创建对象 173
7.3.1 构造函数 173
7.3.2 成员变量的初始化 175
7.3.3 拷贝构造函数 177
7.3.4 关键字this 178
7.4 静态成员的使用 179
7.4.1 静态成员概述 179
7.4.2 调用静态方法 179
7.4.3 使用静态构造函数 180
7.4.4 使用私有构造函数 181
7.4.5 使用静态成员变量 181
7.5 对象的销毁 182
7.5.1 c#中的析构函数 182
7.5.2 dispose()方法 183
7.5.3 using声明 184
7.6 参数传递 184
7.6.1 引用传递 185
7.6.2 out类型参数 187
7.7 方法和构造函数的重写 190
7.8 类的属性 193
7.8.1 类的属性概述 193
7.8.2 get访问器 195
7.8.3 set访问器 195
7.9 readonly类型变量 196
7.10 本章总结 198
第8章 继承与多态 199
8.1 继承 199
8.1.1 继承 199
8.1.2 c#中的继承 200
8.1.3 继承中的构造函数调用 204
8.1.4 base关键字 205
8.1.5 protected访问类型 207
8.1.6 sealed关键字 209
8.2 万类之根——object类 209
8.3 多态 211
8.3.1 多态概述 211
8.3.2 在基类与子类中定义同名方法 212
8.3.3 方法重写——virtual和override关键字的使用 213
8.3.4 new关键字 215
8.4 对象类型转换——up-casting和down-casting 216
8.4.1 up-casting类型转换 216
8.4.2 down-casting类型转换 217
8.4.3 is和as关键字 217
8.5 装箱和拆箱 218
8.6 本章总结 219
第9章 抽象类和接口. 220
9.1 抽象类 220
9.2 接口 223
9.2.1 接口概述 223
9.2.2 实现多个接口 226
9.2.3 指定方法的实现 228
9.2.4 使用is和as操作符实现接口转换 230
9.2.5 接口间的继承 231
9.3 本章总结 233
第10章 数组与集合 234
10.1 多维数组 234
10.1.1 多维数组概述 234
10.1.2 多维数组的实例化和访问 235
10.1.3 变长数组的实例化和访问 237
10.2 foreach循环 239
10.3 集合 242
10.3.1 arraylist类 243
10.3.2 stack类 245
10.3.3 queue类 247
10.4 字典类型集合 249
10.4.1 hashtable类概述 249
10.4.2 创建hashtable集合 249
10.4.3 向hashtable集合中添加元素 250
10.4.4 从hashtable集合中获取元素 250
10.4.5 从hashtable集合中移除指定的元素 250
10.4.6 获取hashtable集合的元素与键值 251
10.4.7 在hashtable集合中检索元素 252
10.4.8 sortedlist类概述 252
10.4.9 sortedlist类方法介绍 253
10.4 本章总结 255
第11章 代理和事件 256
11.1 代理 256
11.1.1 代理概述 256
11.1.2 方法的类型和标识 257
11.1.3 代理引用 257
11.1.4 .net framework中的代理 261
11.1.5 代理作方法的参数 261
11.1.6 多重代理概述 263
11.1.7 多重代理的实现 263
11.1.8 移除多重代理指向的方法 265
11.2 事件和事件处理 266
11.2.1 c#中的事件处理 266
11.2.2 事件举例——时钟事件 267
11.2.3 多重事件 270
11.2.4 利用事件传递数据 271
11.3 本章总结 273
第4篇 windows程序编程
第12章 windows应用程序概述 276
12.1 windows应用程序 276
12.1.1 windows应用程序概述 276
12.1.2 windows应用程序的创建 276
12.1.3 program.cs文件 277
12.1.4 form1.cs文件 277
12.1.5 form1.designer.cs文件 278
12.2 windows应用程序窗体 279
12.2.1 windows应用程序窗体概述 279
12.2.2 form类属性介绍 279
12.2.3 form类常用事件介绍 280
12.3 为窗体添加控件 281
12.3.1 控件概述 281
12.3.2 控件的基本属性介绍 282
12.3.3 控件常用公共事件介绍 282
12.3.4 向窗体添加控件 283
12.3.5 控件的布局与停靠 283
12.4 windows应用程序编程示例 285
12.4.1 创建一个窗体 285
12.4.2 修改窗体属性 285
12.4.3 向窗体添加控件 286
12.4.4 向控件事件添加事件处理程序 286
12.4.5 编译和运行项目 286
12.5 本章总结 287
第13章 visual studio 2008控件介绍 288
13.1 文本编辑控件 288
13.1.1 textbox控件概述 288
13.1.2 读取或设置textbox控件的内容 289
13.1.3 textbox控件的多行文本输入 290
13.1.4 textbox控件的文本选择 291
13.1.5 密码框设置 292
13.1.6 textbox控件的有效性验证 293
13.1.7 richtextbox控件概述 293
13.1.8 richtextbox控件的文本选择 294
13.1.9 richtextbox控件的撤销操作 295
13.1.10 richtextbox控件的拖放操作 296
13.1.11 richtextbox控件的文本格式设置 297
13.1.12 richtextbox控件的文本缩进 299
13.1.13 richtextbox控件中的超链接 300
13.1.14 richtextbox控件的文件操作 301
13.2 文本显示控件 302
13.2.1 label控件 302
13.2.2 linklabel控件概述 303
13.2.3 linkcollection与link类 305
13.2.4 linklabel控件编程示例 305
13.3 容器控件 307
13.3.1 panel控件 307
13.3.2 groupbox控件 310
13.3.3 tabcontrol控件概述 311
13.3.4 tabcontrol控件外观设计 312
13.3.5 tabcontrol控件中标签页的选择 315
13.3.6 tabcontrol控件中的标签页 317
13.3.7 tablelayoutpanel控件概述 318
13.3.8 tablelayoutpanel控件的外观设置 319
13.3.9 tablelayoutpanel中的控件 321
13.4 值设置控件 323
13.4.1 checkbox控件 323
13.4.2 radiobutton控件 326
13.5 本章总结 327
第14章 列表选择控件介绍 328
14.1 listbox控件 328
14.1.1 listbox控件概述 328
14.1.2 listbox控件子项的编辑 328
14.1.3 listbox控件行为设置 330
14.1.4 listbox控件选择模式设置 332
14.1.5 listbox控件外观设置 334
14.1.6 listbox控件中的排序 335
14.1.7 listbox控件的绘制 335
14.1.8 listbox控件中的查找 336
14.1.9 listbox控件的常用方法 338
14.2 combobox控件 340
14.2.1 combobox控件概述 340
14.2.2 combobox下拉框样式设置 340
14.2.3 combobox控件的自动补齐功能 342
14.2.4 combobox控件的自动补齐数据源 342
14.2.5 combobox控件的自动补齐方式 344
14.2.6 combobox控件的常见事件 345
14.2.7 combobox控件的子项选择 346
14.2.8 combobox控件的子项绘制 348
14.3 checkedlistbox控件 350
14.3.1 checkedlistbox控件概述 350
14.3.2 checkedlistbox控件编程示例 352
14.4 listview控件 356
14.4.1 listview控件概述 356
14.4.2 listview控件视图 357
14.4.3 listview任务窗体 358
14.4.4 listview控件中的imagelist. 359
14.4.5 listview控件中的子项 361
14.4.6 “details”视图模式 362
14.4.7 listview控件的子项分组设置 363
14.4.8 listview控件的拖曳操作 365
14.4.9 listview控件的文本匹配和位置搜索 367
14.5 treeview控件 368
14.5.1 treeview控件概述 368
14.5.2 编辑treeview控件中的节点 369
14.5.3 在treeview控件中进行选择 371
14.5.4 treeview控件的实际应用 373
14.5.5 treeview控件的imagelist. 373
14.5.6 treeview控件的展开与折叠 374
14.5.7 treeview控件的文本编辑 376
14.5.8 treeview控件中的拖曳操作 377
14.6 本章总结 380
第15章 数据显示控件 381
15.1 datagridview控件介绍 381
15.1.1 datagridview控件简介 381
15.1.2 datagridview控件用户权限设置 383
15.1.3 datagridview控件应用示例 385
15.1.4 datagridview控件的数据源设置 386
15.1.5 向datagridview控件添加列 387
15.1.6 冻结datagridview控件中的列 388
15.1.7 编辑datagridview控件中的列 389
15.2 datagridview的相关类关系 389
15.2.1 datagridviewelement对象模型 390
15.2.2 datagridviewcell对象模型 390
15.2.3 datagridviewcolumn控件对象模型 391
15.2.4 datagridviewrow控件对象模型 391
15.3 datagridview类的使用方法 392
15.3.1 单元格边框样式 392
15.3.2 datagridview控件边框设置 394
15.3.3 datagridview控件单元格边框设置 394
15.3.4 特殊单元格边框设置 396
15.3.5 单元格形式设计 397
15.3.6 单元格设置优先级说明 400
15.3.7 datagridview控件外观设置 402
15.3.8 datagridview控件行为设置 402
15.3.9 datagridview控件的其他属性 403
15.3.10 autoresizecolumn方法 406
15.3.11 autoresizecolumns方法 407
15.3.12 autoresizecolumnheadersheight方法.. 409
15.3.13 autoresizerowheaderswidth方法 409
15.3.14 datagridview控件的其他方法 411
15.4 datagridview的相关类 411
15.4.1 datagridviewcolumn类的排序 411
15.4.2 datagridviewtextboxcolumn 412
15.4.3 datagridviewcheckboxcolumn 414
15.4.4 datagridviewimagecolumn 415
15.4.5 datagridviewbuttoncolumn 417
15.4.6 datagridviewcomboboxcolumn 418
15.4.7 datagridviewlinkcolumn 421
15.5 本章总结 422
第16章 通用对话框 423
16.1 消息对话框 423
16.1.1 消息对话框概述 423
16.1.2 show方法 424
16.1.3 消息对话框按键设置 425
16.1.4 获取用户响应 426
16.1.5 消息对话框图标设置 428
16.1.6 消息对话框编程示例 429
16.2 文件对话框 432
16.2.1 openfiledialog组件概述 432
16.2.2 “打开”文件对话框弹出 433
16.2.3 “打开”文件对话框中的快捷方式 433
16.2.4 “打开”文件对话框中的多项选择 434
16.2.5 “打开”文件对话框中的文件类型 435
16.2.6 “打开”文件对话框中的外观设置 437
16.2.7 “打开”文件对话框中的检查设置 439
16.2.8 savefiledialog组件概述 440
16.2.9 savefiledialog组件编程示例 441
16.2.10 “另存为”对话框的文件确认 443
16.2.11 folderbrowserdialog组件概述 444
16.2.12 folderbrowserdialog组件编程示例 444
16.3 字体选择对话框 447
16.3.1 fontdialog组件概述 447
16.3.2 fontdialog组件编程示例 448
16.4 颜色选择对话框 450
16.4.1 colordialog组件概述 450
16.4.2 colordialog组件编程示例 452
16.5 打印相关对话框 453
16.5.1 printdocument组件概述 453
16.5.2 printdocument组件编程示例 454
16.5.3 pagesetupdialog组件概述 456
16.5.4 pagesetupdialog组件编程示例 457
16.5.5 printpreviewdialog组件 458
16.5.6 printpreviewdialog组件编程示例 459
16.5.7 printdialog组件 462
16.6 本章总结 463
第17章 其他常用控件 465
17.1 计时器组件 465
17.1.1 timer件概述 465
17.1.2 timer组件的触发 465
17.1.3 秒表功能设置 467
17.1.4 timer组件编程示例 469
17.2 图形控件 470
17.2.1 picturebox控件概述 470
17.2.2 picturebox控件的图片显示方式 471
17.2.3 picturebox控件中图片的更新 473
17.2.4 imagelist组件概述 473
17.2.5 imagelist组件适用控件 475
17.3 菜单控件 475
17.3.1 menustrip控件概述 475
17.3.2 添加菜单项 476
17.3.3 菜单项功能设置 479
17.3.4 toolstrip控件概述 481
17.3.5 toolstripitem类型介绍 482
17.3.6 toolstrip控件行为设置 484
17.3.7 toolstripcombobox的自动填充 486
17.3.8 toolstrip控件外观设置 486
17.3.9 contextmenustrip控件 487
17.4 本章总结 488
第18章 windows应用程序的部署 489
18.1 部署方案简要介绍 489
18.1.1 clickonce部署方案概述 489
18.1.2 windows installer部署方案概述 490
18.2 clickonce部署 490
18.2.1 创建widows应用程序 490
18.2.2 启动“发布向导” 491
18.2.3 url地址设置 492
18.2.4 应用程序名称设置 494
18.2.5 应用程序文件内容设置 494
18.2.6 应用程序下载组设置 495
18.2.7 应用程序系统必备设置 495
18.2.8 访问权限设置 496
18.2.9 发布方式选择 497
18.2.10 发布到网站 497
18.2.11 发布到共享文件夹 499
18.2.12 发布到cd-rom 500
18.2.13 施行发布 501
18.2.14 安装并运行 503
18.3 windows installer部署 504
18.3.1 创建windows应用程序 504
18.3.2 创建部署项目 504
18.3.3 文件系统编辑器 505
18.3.4 创建安装程序 506
18.3.5 添加快捷方式 507
18.3.6 设置windows installer部署属性 507
18.3.7 设置windows installer应用程序注册表项 508
18.3.8 安装过程中的默认对话框 508
18.3.9 “欢迎使用”用户界面对话框 510
18.3.10 “选择安装文件夹”用户界面对话框 510
18.3.11 “确认安装”用户界面对话框 511
18.3.12 “进度”用户界面对话框 512
18.3.13 “安装完成”用户界面对话框 512
18.3.14 安装过程中的自定义默认对话框 513
18.3.15 “单选按钮”用户界面对话框 514
18.3.16 “复选框”用户界面对话框 515
18.3.17 “文本框”用户界面对话框 516
18.3.18 “客户信息”用户界面对话框 517
18.3.19 “许可协议”用户界面对话框 518
18.3.20 “自述文件”用户界面对话框 518
18.3.21 “注册用户”用户界面对话框 519
18.3.22 部署应用程序 519
18.4 部署方案比较 519
18.5 本章总结 520
第5篇 c#的高级特征和工具
第19章 异常处理 522
19.1 异常的基本概念 522
19.2 c#和.net中的异常 524
19.2.1 使用try…catch…finally结构处理异常 524
19.2.2 异常类的消息和堆栈记录属性 526
19.2.3 finally语段 528
19.3 多异常的捕获 530
19.3.1 多异常简介 530
19.3.2 使用多个catch语段的要点 533
19.3.3 c#中异常处理的其他要点 534
19.4 定义用户异常 535
19.5 本章总结 537
第20章 文件系统与流 538
20.1 软件系统环境相关信息 538
20.1.1 获得应用程序运行环境的信息——system.environment类 538
20.1.2 system.environment类的应用举例 538
20.1.3 获得各种windows标准文件夹的路径——enviroment.getfolderpath() 540
20.2 对文件进行操作 542
20.2.1 使用system.io.file和system.io.fileinfo类对文件进行操作 543
20.2.2 system.io.file 类 543
20.2.3 system.io.fileinfo类 544
20.3 对文件夹进行操作 546
20.3.1 使用system.io.directory和system.io.directoryinfo类对目录进行操作 546
20.3.2 system.io.directory类 546
20.3.3 system.io.directoryinfo类 548
20.4 流文件概述 550
20.4.1 流简介 550
20.4.2 stream类简介 550
20.5 使用流对文件进行读写 551
20.5.1 使用system.io.filestream类对文件进行读写 551
20.5.2 system.io.filestream类使用示例 552
20.5.3 使用binaryreader和binarywriter类对文件进行读写 554
20.5.4 使用streamreader和streamwriter类对文本文件进行读写 556
20.6 序列化和反序列化 556
20.6.1 对象序列化简介 556
20.6.2 格式器 557
20.6.3 对象序列化使用示例一 557
20.6.4 对象序列化使用示例二 559
20.6.5 对象序列化使用示例三 562
20.7 异步读取数据 564
20.7.1 异步读取数据概述 564
20.7.2 异步读取数据使用示例 565
20.8 本章总结 566
第21章 可扩展标记语言 567
21.1 xml简介 567
21.1.1 文档对象模型 568
21.1.2 xml path language 569
21.1.3 xsl 569
21.1.4 xml schemas 570
21.1.5 .net中的xml相关类 570
21.2 使用xml dom进行编程 571
21.2.1 创建xml文档 573
21.2.2 向xml文档添加元素 574
21.2.3 更新xml文档中的元素 575
21.2.4 删除xml文档中的元素 578
21.2.5 加载和保存xml文档 579
21.3 xml和相关的数据 580
21.3.1 xml与dataset类 583
21.3.2 xml模式与dataset类 585
21.3.3 遍历dataset类中的关系 587
21.4 xpath 590
21.4.1 xpath简介 590
21.4.2 xpath使用示例 590
21.4.3 xpath示例讲解 594
21.5 xsl转换 595
21.5.1 xsl转换示例一 596
21.5.2 xsl转换示例讲解 599
21.5.3 xsl转换示例二 600
21.6 本章总结 602
第22章 多线程编程 603
22.1 多线程编程原理 603
22.1.1 多线程编程示例一 603
22.1.2 多线程编程示例二 604
22.1.3 多线程编程示例三 605
22.1.4 线程的工作原理 607
22.1.5 线程和进程 607
22.1.6 何时需要使用多线程 608
22.1.7 何时不要使用多线程 608
22.2 创建并开始一个线程 608
22.2.1 创建并开始一个线程 608
22.2.2 向threadstart传递参数 610
22.2.3 命名线程 612
22.2.4 前台和后台线程 612
22.2.5 线程属性 613
22.2.6 异常处理 613
22.3 线程同步 615
22.3.1 线程阻塞的方法 615
22.3.2 sleeping和spinning 616
22.3.3 joining一个线程 617
22.4 线程安全 617
22.4.1 线程安全概述 618
22.4.2 选择一个同步对象 619
22.4.3 嵌套锁 620
22.4.4 何时上锁 621
22.4.5 效率考虑 622
22.4.6 线程安全与.net framework 622
22.5 中断和取消 624
22.5.1 中断 624
22.5.2 取消 625
22.6 线程状态 625
22.7 等待处理 626
22.7.1 自动设置方法简述 626
22.7.2 自动设置方法示例一 627
22.7.3 自动设置方法示例二 628
22.7.4 自动设置方法示例三 630
22.7.5 手动设置方法 632
22.7.6 互斥量 632
22.7.7 信号量 633
22.7.8 waitany、waitall和signalandwait方法 634
22.8 同步性作用域 634
22.9 套间线程和windows窗体 637
22.9.1 套间线程概述 637
22.9.2 详解套间模型 638
22.9.3 control.invoke方法 638
22.10 backgroundworker组件 638
22.10.1 backgroundworker组件概述 638
22.10.2 backgroundworker组件编程示例一 639
22.10.3 backgroundworker组件编程示例二 640
22.10.4 backgroundworker组件编程示例三 642
22.11 readerwriterlockslim类和readerwriterlock类 643
22.11.1 用于读/写操作的锁的概述 643
22.11.2 readerwriterlockslim类 644
22.11.3 用于读/写操作的锁的使用说明 645
22.12 线程池 647
22.13 异步代理 648
22.14 计时器 650
22.15 局部存储 652
22.16 本章总结 652
第6篇 web数据库开发
第23章 数据库基础知识 654
23.1 sql server概述 654
23.2 数据表的各种操作 655
23.2.1 创建、修改和删除表 655
23.2.2 操纵表中的数据 656
23.2.3 主键约束 659
23.2.4 外键约束 660
23.2.5 唯一性约束 660
23.2.6 check约束 661
23.2.7 默认约束 661
23.3 存储过程 661
23.3.1 创建存储过程 662
23.3.2 执行和删除存储过程 663
23.3.3 sql server 2005中的存储过程向导 663
23.4 触发器 665
23.4.1 创建和使用触发器 665
23.4.2 sql server 2005中的触发器向导 666
23.5 本章总结 667
第24章 ado.net数据库编程 668
24.1 ado.net介绍 668
24.1.1 什么是ado.net. 668
24.1.2 system.data命名空间 669
24.2 dataset和datatable类 670
24.2.1 datatable类成员 670
24.2.2 创建datatable 672
24.2.3 遍历datatable的记录 675
24.2.4 接受和回滚datatable的更改 677
24.2.5 dataset类成员 680
24.2.6 使用dataset类 681
24.2.7 接受和回滚dataset的更改 686
24.3 sql server数据库访问 687
24.3.1 数据库访问步骤 687
24.3.2 用sqlconnection连接数据库 688
24.3.3 用sqlcommand执行sql命令 691
24.3.4 用sqldatareader读取数据库记录 694
24.3.5 用sqldataadapter获取数据库记录 697
24.3.6 用sqldataadapter更改数据库记录 700
24.4 access数据库访问 702
24.4.1 system.data.oledb命名空间 703
24.4.2 access数据库访问 703
24.5 使用数据库访问控件 704
24.5.1 用datagridview控件修改记录 704
24.5.2 用bindingnavigator控件导航记录 707
24.6 本章总结 707
第25章 asp.net技术入门 709
25.1 概述 709
25.1.1 认识asp.net 709
25.1.2 web命名空间 710
25.1.3 创建web应用程序 710
25.2 使用asp.net控件 712
25.2.1 用textbox控件实现文本输入 712
25.2.2 用button控件实现按钮 714
25.2.3 用hyperlink控件实现超链接 716
25.2.4 用dropdownlist、listbox等实现列表 717
25.2.5 用menu控件实现菜单导航 718
25.3 网页开发实例 720
25.3.1 设计留言本网站 721
25.3.2 欢迎页面实现 722
25.3.3 添加留言页面实现 723
25.3.4 查看留言页面实现 727
25.3.5 发布留言板网站 730
25.4 本章总结 732
第26章 服务器端控件详解 733
26.1 概述 733
26.1.1 认识服务器控件 733
26.1.2 服务器控件与html控件的区别 733
26.2 数据操作控件 734
26.2.1 使用sqldatasource控件连接数据 734
26.2.2 使用sqldatasource控件连接到数据库 735
26.2.3 使用gridview控件显示数据库中的数据 740
26.2.4 使用detailsview控件显示特定记录 742
26.3 验证控件 746
26.3.1 限制空字段控件requiredfieldvalidator 746
26.3.2 比较两个字段控件comparevalidator 747
26.3.3 检查指定范围控件rangevalidator 750
26.3.4 表达式验证控件regularexpressionvalidator 750
26.3.5 自定义验证控件customvalidator 751
26.3.6 错误信息汇总控件validationsummary 754
26.4 用户控件 756
26.5 本章总结 759
第7篇 .net 3.5的新增功能
第27章 wpf框架 762
27.1 wpf概述 762
27.1.1 wpf基础架构 762
27.1.2 wpf相关技术 763
27.2 wpf应用程序 764
27.2.1 wpf编程 764
27.2.2 wpf应用程序 768
27.2.3 wpf浏览器应用程序 770
27.3 简单wpf实例 772
27.3.1 listbox控件的使用与控件属性 772
27.3.2 使用hyperlink控件实现多页面切换 776
27.3.3 使用dockpanel布局控件 777
27.3.4 使用stackpanel布局控件 779
27.3.5 使用数据源集合实现多数据绑定 780
27.3.6 属性变更引起依赖数据绑定实例 783
27.3.7 使用brush填充图形 787
27.3.8 使用storyboard实现动画 794
27.3.9 使用storyboard实现控件的翻转 796
27.4 本章总结 798
第28章 wcf框架 799
28.1 wcf基础 799
28.1.1 wcf架构 799
28.1.2 wcf模型 800
28.2 创建wcf服务和客户端 801
28.2.1 创建wcf应用程序 801
28.2.2 定义wcf服务协定 802
28.2.3 实现wcf服务 803
28.2.4 运行wcf服务 804
28.2.5 创建wcf客户端 806
28.2.6 配置wcf客户端 807
28.2.7 使用wcf客户端 809
28.3 wcf技术 811
28.3.1 在wcf中使用会话 811
28.3.2 在wcf中使用事务 812
28.4 本章总结 814
第29章 wwf框架 815
29.1 概述 815
29.1.1 wwf框架 815
29.1.2 框架元素概述 816
29.2 wwf应用开发 817
29.2.1 创建wwf应用程序 817
29.2.2 wwf活动简介 820
29.2.3 wwf服务简介 822
29.3 通过wwf创建工作流应用 823
29.3.1 创建顺序工作流 823
29.3.2 创建带参数的顺序工作流 829
29.3.3 创建状态机工作流 833
29.4 本章总结 840
第30章 语言集成查询linq 841
30.1 linq概述 841
30.1.1 linq查询概述 841
30.1.2 创建简单linq查询 842
30.2 linq语言基础 843
30.2.1 linq查询表达式简介 843
30.2.2 linq查询语法和方法语法 845
30.2.3 使用linq进行数据合并 848
30.2.4 使用linq进行数据转换 849
30.3 linq简单对象模型与查询 851
30.3.1 linq to sql查询 851
30.3.2 linq to dataset查询 855
30.3.3 linq to xml查询 856
30.3.4 linq to object查询 858
30.4 本章总结 860
第8篇 综合案例
第31章 电子购物商城 862
31.1 系统总体设计 862
31.1.1 系统功能描述 862
31.1.2 webshopping应用程序组成 864
31.1.3 数据库表设计 865
31.1.4 数据库表之间关系设计 869
31.2 系统通用类和模块设计 870
31.2.1 系统常量和枚举设计 870
31.2.2 系统常用操作设计 870
31.2.3 标题模块设计 872
31.2.4 分页模块设计 873
31.2.5 系统级联样式表设计 878
31.2.6 系统皮肤设计 878
31.2.7 web.config配置文件设计 879
31.2.8 数据库实体类设计 880
31.3 电子购物商城首页 883
31.3.1 default.aspx页面 883
31.3.2 搜索模块 887
31.3.3 登录模块 888
31.3.4 新闻模块 890
31.3.5 公告模块 892
31.4 用户注册和登录 894
31.4.1 注册用户信息 894
31.4.2 提交用户信息 898
31.4.3 用户登录 902
31.4.4 退出系统 904
31.5 浏览商品、购物车和订单 905
31.5.1 查看商品 905
31.5.2 评论商品 909
31.5.3 购物车组件设计 913
31.5.4 购买商品 914
31.5.5 查看购物车 917
31.5.6 创建订单编号 921
31.5.7 创建订单 922
31.5.8 发布留言 927
31.6 商品搜索 930
31.6.1 简单搜索 930
31.6.2 高级搜索 933
31.7 用户信息中心 937
31.7.1 用户信息首页 938
31.7.2 动态加载操作菜单 940
31.7.3 查看个人信息 942
31.7.4 修改个人信息 944
31.7.5 修改密码 949
31.7.6 查看我的订单 952
31.8 商品及其分类管理 956
31.8.1 商品分类管理 957
31.8.2 动态加载商品分类层次结构 961
31.8.3 添加商品分类 963
31.8.4 修改商品分类 966
31.8.5 商品管理 969
31.8.6 动态加载商品分类层次树 976
31.8.7 添加商品 978
31.8.8 修改商品 982
31.8.9 商品图片管理 986
31.8.10 显示商品图片 991
31.8.11 商品评论管理 992
31.9 系统信息中心 997
31.9.1 新闻管理 998
31.9.2 发布新闻 1002
31.9.3 修改新闻 1005
31.9.4 发布公告 1008
31.9.5 留言管理 1011
31.10 系统用户和角色管理 1015
31.10.1 角色管理 1015
31.10.2 添加角色 1019
31.10.3 修改角色 1021
31.10.4 用户管理 1024
31.10.5 添加管理员 1029
31.11 本章总结... 1033
第1章 visual studio 2008介绍 2
1.1 .net概述 2
1.1.1 .net发展史 2
1.1.2 中间语言 3
1.1.3 垃圾收集器 4
1.2 .net framework 概述 5
1.2.1 .net framework 概述 5
1.2.2 公共语言运行时 7
1.2.3 基类库 7
1.2.4 公共语言运行规范 9
1.3 visual studio 2008的新特性 9
1.4 visual studio 2008开发环境介绍 10
1.4.1 visual studio 2008的安装 10
1.4.2 项目模板 12
1.4.3 网站模板 14
1.4.4 文件模板 15
1.4.5 visual studio 2008 ide 概述 16
1.4.6 visual studio 2008的开发工具栏和菜单栏 17
1.4.7 对象浏览器和类视图 20
.1.4.8 工具箱和属性窗口 21
1.5 定制环境 22
1.5.1 修改字体和颜色 23
1.5.2 定制帮助位置 23
1.5.3 在项目和解决方案中保存文件 23
1.5.4 任务列表和注释 24
1.5.5 命令窗口 25
1.5.6 行号与代码折叠 26
1.5.7 窗口管理 27
1.5.8 调试与生成 28
1.6 学会使用msdn帮助系统 30
1.7 visual studio 2008编程示例 31
1.8 本章总结 33
第2章 c#简介 35
2.1 c#与.net的关系 35
2.2 c#的主要特点 35
2.2.1 简单性 36
2.2.2 类型统一性 39
2.2.3 面向对象性 39
2.2.4 类型安全性 40
2.2.5 兼容性 41
2.3 c#与其他语言对比 42
2.4 c#与vb.net. 42
2.4.1 代码显示 42
2.4.2 数据类型和变量 43
2.4.3 类、数据类型、函数以及接口 44
2.4.4 操作符与表达式 44
2.4.5 控制流程语言 45
2.4.6 on error语句 47
2.4.7 关键字 47
2.4.8 访问修饰符 48
2.4.9 语法 48
2.4.10 c#与vb.net代码比较 48
2.5 c#与c++ 52
2.5.1 托管的环境 52
2.5.2 .net对象 52
2.5.3 c#的语句 52
2.5.4 c#中取消的要素 53
2.5.5 操作符重载 53
2.5.6 头文件 53
2.5.7 程序书写 53
2.5.8 指针 54
2.5.9 虚函数 54
2.5.10 c#与c++代码比较 56
2.6 c#与java 57
2.6.1 数据类型(data type) 57
2.6.2 类(class) 58
2.6.3 属性(property) 59
2.6.4 事件(event)、指针(pointer)与界面 60
2.6.5 c#与java代码比较 60
2.7 本章总结 61
第2篇 c#程序设计基础
第3章 c#数据类型 64
3.1 数据类型 64
3.2 值类型 65
3.2.1 值类型概述 65
3.2.2 整型 66
3.2.3 字符型 67
3.2.4 浮点型 68
3.2.5 小数型 69
3.2.6 布尔型 69
3.2.7 c#的数值类型 69
3.3 引用类型 70
3.3.1 引用类型概述 70
3.3.2 类类型 71
3.3.3 对象类型 71
3.3.4 字符串类型 71
3.3.5 接口类型 73
3.4 类型转换 75
3.4.1 类型转换概述 75
3.4.2 显式转换 76
3.4.3 隐式转换 76
3.4.4 两种数值类型之间的转换 77
3.4.5 数值类型和字符串之间的转换 78
3.4.6 字符的ascii码和unicode码之间的转换 80
3.4.7 字符串和字符数组之间的转换 81
3.4.8 字符串和字节数组之间的转换 83
3.4.9 数值类型和字节数组之间的转换 84
3.4.10 各个类型之间的强制转换 85
3.5 复杂数据类型 86
3.5.1 枚举概述 86
3.5.2 枚举编程示例 87
3.5.3 结构概述 88
3.5.4 结构编程示例 89
3.5.5 结构中的方法 90
3.5.6 结构与类的区别 92
3.5.7 结构的适用范围 92
3.6 本章总结 92
第4章 变量与表达式 93
4.1 常量与变量 93
4.1.1 常量概述 93
4.1.2 静态常量 93
4.1.3 动态常量 94
4.1.4 编程中的常量 94
4.1.5 变量概述 95
4.1.6 变量的实质 96
4.1.7 变量的分类 97
4.1.8 变量的命名规范 99
4.2 运算符与表达式 100
4.2.1 运算符的分类 100
4.2.2 算术运算符 100
4.2.3 关系运算符 103
4.2.4 一般赋值运算符 104
4.2.5 复合赋值运算符 105
4.2.6 逻辑运算符 107
4.2.7 二进制计算 110
4.2.8 位运算符 111
4.2.9 三元运算符 114
4.2.10 自增和自减运算符 114
4.2.11 运算符的优先级 116
4.3 关键字 117
4.4 本章总结 117
第5章 程序控制语言 118
5.1 c#语句分类 118
5.2 选择语句 119
5.2.1 选择语句概述 119
5.2.2 if语句简介 119
5.2.3 单条选择if语句 120
5.2.4 if…else…语句 121
5.2.5 复杂if…else…语句 122
5.2.6 嵌套语句 124
5.2.7 switch语句概述 126
5.2.8 switch语句编程示例 127
5.3 循环语句 128
5.3.1 do循环 128
5.3.2 while循环 129
5.3.3 for循环 130
5.3.4 foreach循环语句 132
5.4 跳转语句 133
5.4.1 break语句 133
5.4.2 continue语句 135
5.4.3 return语句 136
5.4.4 goto语句与标志符 137
5.4.5 goto语句与switch语句 138
5.4.6 goto语句与嵌套循环语句 139
5.4.7 throw语句 141
5.5 注释语句 142
5.5.1 普通注释语句 143
5.5.2 利用注释语句生成帮助文档 144
5.6 本章总结 145
第6章 函数与方法 146
6.1 定义和使用函数 146
6.1.1 函数与方法 146
6.1.2 函数的表达形式 146
6.2 参数与返回值 147
6.2.1 参数 147
6.2.2 值参数(value parameter) 147
6.2.3 引用参数(reference parameter) 148
6.2.4 输出参数(output parameter) 151
6.2.5 数组参数(array parameter) 152
6.2.6 利用返回值获取数值 153
6.2.7 利用返回值判断逻辑 155
6.3 变量的作用域 157
6.3.1 局部变量 157
6.3.2 全局变量 159
6.4 main()函数 160
6.5 常用函数 163
6.6 本章总结 165
第3篇 c面向对象简介
第7章 类和对象 168
7.1 类和对象简述 168
7.2 类的定义 169
7.2.1 类概述 169
7.2.2 访问类型 171
7.2.3 成员方法 172
7.3 创建对象 173
7.3.1 构造函数 173
7.3.2 成员变量的初始化 175
7.3.3 拷贝构造函数 177
7.3.4 关键字this 178
7.4 静态成员的使用 179
7.4.1 静态成员概述 179
7.4.2 调用静态方法 179
7.4.3 使用静态构造函数 180
7.4.4 使用私有构造函数 181
7.4.5 使用静态成员变量 181
7.5 对象的销毁 182
7.5.1 c#中的析构函数 182
7.5.2 dispose()方法 183
7.5.3 using声明 184
7.6 参数传递 184
7.6.1 引用传递 185
7.6.2 out类型参数 187
7.7 方法和构造函数的重写 190
7.8 类的属性 193
7.8.1 类的属性概述 193
7.8.2 get访问器 195
7.8.3 set访问器 195
7.9 readonly类型变量 196
7.10 本章总结 198
第8章 继承与多态 199
8.1 继承 199
8.1.1 继承 199
8.1.2 c#中的继承 200
8.1.3 继承中的构造函数调用 204
8.1.4 base关键字 205
8.1.5 protected访问类型 207
8.1.6 sealed关键字 209
8.2 万类之根——object类 209
8.3 多态 211
8.3.1 多态概述 211
8.3.2 在基类与子类中定义同名方法 212
8.3.3 方法重写——virtual和override关键字的使用 213
8.3.4 new关键字 215
8.4 对象类型转换——up-casting和down-casting 216
8.4.1 up-casting类型转换 216
8.4.2 down-casting类型转换 217
8.4.3 is和as关键字 217
8.5 装箱和拆箱 218
8.6 本章总结 219
第9章 抽象类和接口. 220
9.1 抽象类 220
9.2 接口 223
9.2.1 接口概述 223
9.2.2 实现多个接口 226
9.2.3 指定方法的实现 228
9.2.4 使用is和as操作符实现接口转换 230
9.2.5 接口间的继承 231
9.3 本章总结 233
第10章 数组与集合 234
10.1 多维数组 234
10.1.1 多维数组概述 234
10.1.2 多维数组的实例化和访问 235
10.1.3 变长数组的实例化和访问 237
10.2 foreach循环 239
10.3 集合 242
10.3.1 arraylist类 243
10.3.2 stack类 245
10.3.3 queue类 247
10.4 字典类型集合 249
10.4.1 hashtable类概述 249
10.4.2 创建hashtable集合 249
10.4.3 向hashtable集合中添加元素 250
10.4.4 从hashtable集合中获取元素 250
10.4.5 从hashtable集合中移除指定的元素 250
10.4.6 获取hashtable集合的元素与键值 251
10.4.7 在hashtable集合中检索元素 252
10.4.8 sortedlist类概述 252
10.4.9 sortedlist类方法介绍 253
10.4 本章总结 255
第11章 代理和事件 256
11.1 代理 256
11.1.1 代理概述 256
11.1.2 方法的类型和标识 257
11.1.3 代理引用 257
11.1.4 .net framework中的代理 261
11.1.5 代理作方法的参数 261
11.1.6 多重代理概述 263
11.1.7 多重代理的实现 263
11.1.8 移除多重代理指向的方法 265
11.2 事件和事件处理 266
11.2.1 c#中的事件处理 266
11.2.2 事件举例——时钟事件 267
11.2.3 多重事件 270
11.2.4 利用事件传递数据 271
11.3 本章总结 273
第4篇 windows程序编程
第12章 windows应用程序概述 276
12.1 windows应用程序 276
12.1.1 windows应用程序概述 276
12.1.2 windows应用程序的创建 276
12.1.3 program.cs文件 277
12.1.4 form1.cs文件 277
12.1.5 form1.designer.cs文件 278
12.2 windows应用程序窗体 279
12.2.1 windows应用程序窗体概述 279
12.2.2 form类属性介绍 279
12.2.3 form类常用事件介绍 280
12.3 为窗体添加控件 281
12.3.1 控件概述 281
12.3.2 控件的基本属性介绍 282
12.3.3 控件常用公共事件介绍 282
12.3.4 向窗体添加控件 283
12.3.5 控件的布局与停靠 283
12.4 windows应用程序编程示例 285
12.4.1 创建一个窗体 285
12.4.2 修改窗体属性 285
12.4.3 向窗体添加控件 286
12.4.4 向控件事件添加事件处理程序 286
12.4.5 编译和运行项目 286
12.5 本章总结 287
第13章 visual studio 2008控件介绍 288
13.1 文本编辑控件 288
13.1.1 textbox控件概述 288
13.1.2 读取或设置textbox控件的内容 289
13.1.3 textbox控件的多行文本输入 290
13.1.4 textbox控件的文本选择 291
13.1.5 密码框设置 292
13.1.6 textbox控件的有效性验证 293
13.1.7 richtextbox控件概述 293
13.1.8 richtextbox控件的文本选择 294
13.1.9 richtextbox控件的撤销操作 295
13.1.10 richtextbox控件的拖放操作 296
13.1.11 richtextbox控件的文本格式设置 297
13.1.12 richtextbox控件的文本缩进 299
13.1.13 richtextbox控件中的超链接 300
13.1.14 richtextbox控件的文件操作 301
13.2 文本显示控件 302
13.2.1 label控件 302
13.2.2 linklabel控件概述 303
13.2.3 linkcollection与link类 305
13.2.4 linklabel控件编程示例 305
13.3 容器控件 307
13.3.1 panel控件 307
13.3.2 groupbox控件 310
13.3.3 tabcontrol控件概述 311
13.3.4 tabcontrol控件外观设计 312
13.3.5 tabcontrol控件中标签页的选择 315
13.3.6 tabcontrol控件中的标签页 317
13.3.7 tablelayoutpanel控件概述 318
13.3.8 tablelayoutpanel控件的外观设置 319
13.3.9 tablelayoutpanel中的控件 321
13.4 值设置控件 323
13.4.1 checkbox控件 323
13.4.2 radiobutton控件 326
13.5 本章总结 327
第14章 列表选择控件介绍 328
14.1 listbox控件 328
14.1.1 listbox控件概述 328
14.1.2 listbox控件子项的编辑 328
14.1.3 listbox控件行为设置 330
14.1.4 listbox控件选择模式设置 332
14.1.5 listbox控件外观设置 334
14.1.6 listbox控件中的排序 335
14.1.7 listbox控件的绘制 335
14.1.8 listbox控件中的查找 336
14.1.9 listbox控件的常用方法 338
14.2 combobox控件 340
14.2.1 combobox控件概述 340
14.2.2 combobox下拉框样式设置 340
14.2.3 combobox控件的自动补齐功能 342
14.2.4 combobox控件的自动补齐数据源 342
14.2.5 combobox控件的自动补齐方式 344
14.2.6 combobox控件的常见事件 345
14.2.7 combobox控件的子项选择 346
14.2.8 combobox控件的子项绘制 348
14.3 checkedlistbox控件 350
14.3.1 checkedlistbox控件概述 350
14.3.2 checkedlistbox控件编程示例 352
14.4 listview控件 356
14.4.1 listview控件概述 356
14.4.2 listview控件视图 357
14.4.3 listview任务窗体 358
14.4.4 listview控件中的imagelist. 359
14.4.5 listview控件中的子项 361
14.4.6 “details”视图模式 362
14.4.7 listview控件的子项分组设置 363
14.4.8 listview控件的拖曳操作 365
14.4.9 listview控件的文本匹配和位置搜索 367
14.5 treeview控件 368
14.5.1 treeview控件概述 368
14.5.2 编辑treeview控件中的节点 369
14.5.3 在treeview控件中进行选择 371
14.5.4 treeview控件的实际应用 373
14.5.5 treeview控件的imagelist. 373
14.5.6 treeview控件的展开与折叠 374
14.5.7 treeview控件的文本编辑 376
14.5.8 treeview控件中的拖曳操作 377
14.6 本章总结 380
第15章 数据显示控件 381
15.1 datagridview控件介绍 381
15.1.1 datagridview控件简介 381
15.1.2 datagridview控件用户权限设置 383
15.1.3 datagridview控件应用示例 385
15.1.4 datagridview控件的数据源设置 386
15.1.5 向datagridview控件添加列 387
15.1.6 冻结datagridview控件中的列 388
15.1.7 编辑datagridview控件中的列 389
15.2 datagridview的相关类关系 389
15.2.1 datagridviewelement对象模型 390
15.2.2 datagridviewcell对象模型 390
15.2.3 datagridviewcolumn控件对象模型 391
15.2.4 datagridviewrow控件对象模型 391
15.3 datagridview类的使用方法 392
15.3.1 单元格边框样式 392
15.3.2 datagridview控件边框设置 394
15.3.3 datagridview控件单元格边框设置 394
15.3.4 特殊单元格边框设置 396
15.3.5 单元格形式设计 397
15.3.6 单元格设置优先级说明 400
15.3.7 datagridview控件外观设置 402
15.3.8 datagridview控件行为设置 402
15.3.9 datagridview控件的其他属性 403
15.3.10 autoresizecolumn方法 406
15.3.11 autoresizecolumns方法 407
15.3.12 autoresizecolumnheadersheight方法.. 409
15.3.13 autoresizerowheaderswidth方法 409
15.3.14 datagridview控件的其他方法 411
15.4 datagridview的相关类 411
15.4.1 datagridviewcolumn类的排序 411
15.4.2 datagridviewtextboxcolumn 412
15.4.3 datagridviewcheckboxcolumn 414
15.4.4 datagridviewimagecolumn 415
15.4.5 datagridviewbuttoncolumn 417
15.4.6 datagridviewcomboboxcolumn 418
15.4.7 datagridviewlinkcolumn 421
15.5 本章总结 422
第16章 通用对话框 423
16.1 消息对话框 423
16.1.1 消息对话框概述 423
16.1.2 show方法 424
16.1.3 消息对话框按键设置 425
16.1.4 获取用户响应 426
16.1.5 消息对话框图标设置 428
16.1.6 消息对话框编程示例 429
16.2 文件对话框 432
16.2.1 openfiledialog组件概述 432
16.2.2 “打开”文件对话框弹出 433
16.2.3 “打开”文件对话框中的快捷方式 433
16.2.4 “打开”文件对话框中的多项选择 434
16.2.5 “打开”文件对话框中的文件类型 435
16.2.6 “打开”文件对话框中的外观设置 437
16.2.7 “打开”文件对话框中的检查设置 439
16.2.8 savefiledialog组件概述 440
16.2.9 savefiledialog组件编程示例 441
16.2.10 “另存为”对话框的文件确认 443
16.2.11 folderbrowserdialog组件概述 444
16.2.12 folderbrowserdialog组件编程示例 444
16.3 字体选择对话框 447
16.3.1 fontdialog组件概述 447
16.3.2 fontdialog组件编程示例 448
16.4 颜色选择对话框 450
16.4.1 colordialog组件概述 450
16.4.2 colordialog组件编程示例 452
16.5 打印相关对话框 453
16.5.1 printdocument组件概述 453
16.5.2 printdocument组件编程示例 454
16.5.3 pagesetupdialog组件概述 456
16.5.4 pagesetupdialog组件编程示例 457
16.5.5 printpreviewdialog组件 458
16.5.6 printpreviewdialog组件编程示例 459
16.5.7 printdialog组件 462
16.6 本章总结 463
第17章 其他常用控件 465
17.1 计时器组件 465
17.1.1 timer件概述 465
17.1.2 timer组件的触发 465
17.1.3 秒表功能设置 467
17.1.4 timer组件编程示例 469
17.2 图形控件 470
17.2.1 picturebox控件概述 470
17.2.2 picturebox控件的图片显示方式 471
17.2.3 picturebox控件中图片的更新 473
17.2.4 imagelist组件概述 473
17.2.5 imagelist组件适用控件 475
17.3 菜单控件 475
17.3.1 menustrip控件概述 475
17.3.2 添加菜单项 476
17.3.3 菜单项功能设置 479
17.3.4 toolstrip控件概述 481
17.3.5 toolstripitem类型介绍 482
17.3.6 toolstrip控件行为设置 484
17.3.7 toolstripcombobox的自动填充 486
17.3.8 toolstrip控件外观设置 486
17.3.9 contextmenustrip控件 487
17.4 本章总结 488
第18章 windows应用程序的部署 489
18.1 部署方案简要介绍 489
18.1.1 clickonce部署方案概述 489
18.1.2 windows installer部署方案概述 490
18.2 clickonce部署 490
18.2.1 创建widows应用程序 490
18.2.2 启动“发布向导” 491
18.2.3 url地址设置 492
18.2.4 应用程序名称设置 494
18.2.5 应用程序文件内容设置 494
18.2.6 应用程序下载组设置 495
18.2.7 应用程序系统必备设置 495
18.2.8 访问权限设置 496
18.2.9 发布方式选择 497
18.2.10 发布到网站 497
18.2.11 发布到共享文件夹 499
18.2.12 发布到cd-rom 500
18.2.13 施行发布 501
18.2.14 安装并运行 503
18.3 windows installer部署 504
18.3.1 创建windows应用程序 504
18.3.2 创建部署项目 504
18.3.3 文件系统编辑器 505
18.3.4 创建安装程序 506
18.3.5 添加快捷方式 507
18.3.6 设置windows installer部署属性 507
18.3.7 设置windows installer应用程序注册表项 508
18.3.8 安装过程中的默认对话框 508
18.3.9 “欢迎使用”用户界面对话框 510
18.3.10 “选择安装文件夹”用户界面对话框 510
18.3.11 “确认安装”用户界面对话框 511
18.3.12 “进度”用户界面对话框 512
18.3.13 “安装完成”用户界面对话框 512
18.3.14 安装过程中的自定义默认对话框 513
18.3.15 “单选按钮”用户界面对话框 514
18.3.16 “复选框”用户界面对话框 515
18.3.17 “文本框”用户界面对话框 516
18.3.18 “客户信息”用户界面对话框 517
18.3.19 “许可协议”用户界面对话框 518
18.3.20 “自述文件”用户界面对话框 518
18.3.21 “注册用户”用户界面对话框 519
18.3.22 部署应用程序 519
18.4 部署方案比较 519
18.5 本章总结 520
第5篇 c#的高级特征和工具
第19章 异常处理 522
19.1 异常的基本概念 522
19.2 c#和.net中的异常 524
19.2.1 使用try…catch…finally结构处理异常 524
19.2.2 异常类的消息和堆栈记录属性 526
19.2.3 finally语段 528
19.3 多异常的捕获 530
19.3.1 多异常简介 530
19.3.2 使用多个catch语段的要点 533
19.3.3 c#中异常处理的其他要点 534
19.4 定义用户异常 535
19.5 本章总结 537
第20章 文件系统与流 538
20.1 软件系统环境相关信息 538
20.1.1 获得应用程序运行环境的信息——system.environment类 538
20.1.2 system.environment类的应用举例 538
20.1.3 获得各种windows标准文件夹的路径——enviroment.getfolderpath() 540
20.2 对文件进行操作 542
20.2.1 使用system.io.file和system.io.fileinfo类对文件进行操作 543
20.2.2 system.io.file 类 543
20.2.3 system.io.fileinfo类 544
20.3 对文件夹进行操作 546
20.3.1 使用system.io.directory和system.io.directoryinfo类对目录进行操作 546
20.3.2 system.io.directory类 546
20.3.3 system.io.directoryinfo类 548
20.4 流文件概述 550
20.4.1 流简介 550
20.4.2 stream类简介 550
20.5 使用流对文件进行读写 551
20.5.1 使用system.io.filestream类对文件进行读写 551
20.5.2 system.io.filestream类使用示例 552
20.5.3 使用binaryreader和binarywriter类对文件进行读写 554
20.5.4 使用streamreader和streamwriter类对文本文件进行读写 556
20.6 序列化和反序列化 556
20.6.1 对象序列化简介 556
20.6.2 格式器 557
20.6.3 对象序列化使用示例一 557
20.6.4 对象序列化使用示例二 559
20.6.5 对象序列化使用示例三 562
20.7 异步读取数据 564
20.7.1 异步读取数据概述 564
20.7.2 异步读取数据使用示例 565
20.8 本章总结 566
第21章 可扩展标记语言 567
21.1 xml简介 567
21.1.1 文档对象模型 568
21.1.2 xml path language 569
21.1.3 xsl 569
21.1.4 xml schemas 570
21.1.5 .net中的xml相关类 570
21.2 使用xml dom进行编程 571
21.2.1 创建xml文档 573
21.2.2 向xml文档添加元素 574
21.2.3 更新xml文档中的元素 575
21.2.4 删除xml文档中的元素 578
21.2.5 加载和保存xml文档 579
21.3 xml和相关的数据 580
21.3.1 xml与dataset类 583
21.3.2 xml模式与dataset类 585
21.3.3 遍历dataset类中的关系 587
21.4 xpath 590
21.4.1 xpath简介 590
21.4.2 xpath使用示例 590
21.4.3 xpath示例讲解 594
21.5 xsl转换 595
21.5.1 xsl转换示例一 596
21.5.2 xsl转换示例讲解 599
21.5.3 xsl转换示例二 600
21.6 本章总结 602
第22章 多线程编程 603
22.1 多线程编程原理 603
22.1.1 多线程编程示例一 603
22.1.2 多线程编程示例二 604
22.1.3 多线程编程示例三 605
22.1.4 线程的工作原理 607
22.1.5 线程和进程 607
22.1.6 何时需要使用多线程 608
22.1.7 何时不要使用多线程 608
22.2 创建并开始一个线程 608
22.2.1 创建并开始一个线程 608
22.2.2 向threadstart传递参数 610
22.2.3 命名线程 612
22.2.4 前台和后台线程 612
22.2.5 线程属性 613
22.2.6 异常处理 613
22.3 线程同步 615
22.3.1 线程阻塞的方法 615
22.3.2 sleeping和spinning 616
22.3.3 joining一个线程 617
22.4 线程安全 617
22.4.1 线程安全概述 618
22.4.2 选择一个同步对象 619
22.4.3 嵌套锁 620
22.4.4 何时上锁 621
22.4.5 效率考虑 622
22.4.6 线程安全与.net framework 622
22.5 中断和取消 624
22.5.1 中断 624
22.5.2 取消 625
22.6 线程状态 625
22.7 等待处理 626
22.7.1 自动设置方法简述 626
22.7.2 自动设置方法示例一 627
22.7.3 自动设置方法示例二 628
22.7.4 自动设置方法示例三 630
22.7.5 手动设置方法 632
22.7.6 互斥量 632
22.7.7 信号量 633
22.7.8 waitany、waitall和signalandwait方法 634
22.8 同步性作用域 634
22.9 套间线程和windows窗体 637
22.9.1 套间线程概述 637
22.9.2 详解套间模型 638
22.9.3 control.invoke方法 638
22.10 backgroundworker组件 638
22.10.1 backgroundworker组件概述 638
22.10.2 backgroundworker组件编程示例一 639
22.10.3 backgroundworker组件编程示例二 640
22.10.4 backgroundworker组件编程示例三 642
22.11 readerwriterlockslim类和readerwriterlock类 643
22.11.1 用于读/写操作的锁的概述 643
22.11.2 readerwriterlockslim类 644
22.11.3 用于读/写操作的锁的使用说明 645
22.12 线程池 647
22.13 异步代理 648
22.14 计时器 650
22.15 局部存储 652
22.16 本章总结 652
第6篇 web数据库开发
第23章 数据库基础知识 654
23.1 sql server概述 654
23.2 数据表的各种操作 655
23.2.1 创建、修改和删除表 655
23.2.2 操纵表中的数据 656
23.2.3 主键约束 659
23.2.4 外键约束 660
23.2.5 唯一性约束 660
23.2.6 check约束 661
23.2.7 默认约束 661
23.3 存储过程 661
23.3.1 创建存储过程 662
23.3.2 执行和删除存储过程 663
23.3.3 sql server 2005中的存储过程向导 663
23.4 触发器 665
23.4.1 创建和使用触发器 665
23.4.2 sql server 2005中的触发器向导 666
23.5 本章总结 667
第24章 ado.net数据库编程 668
24.1 ado.net介绍 668
24.1.1 什么是ado.net. 668
24.1.2 system.data命名空间 669
24.2 dataset和datatable类 670
24.2.1 datatable类成员 670
24.2.2 创建datatable 672
24.2.3 遍历datatable的记录 675
24.2.4 接受和回滚datatable的更改 677
24.2.5 dataset类成员 680
24.2.6 使用dataset类 681
24.2.7 接受和回滚dataset的更改 686
24.3 sql server数据库访问 687
24.3.1 数据库访问步骤 687
24.3.2 用sqlconnection连接数据库 688
24.3.3 用sqlcommand执行sql命令 691
24.3.4 用sqldatareader读取数据库记录 694
24.3.5 用sqldataadapter获取数据库记录 697
24.3.6 用sqldataadapter更改数据库记录 700
24.4 access数据库访问 702
24.4.1 system.data.oledb命名空间 703
24.4.2 access数据库访问 703
24.5 使用数据库访问控件 704
24.5.1 用datagridview控件修改记录 704
24.5.2 用bindingnavigator控件导航记录 707
24.6 本章总结 707
第25章 asp.net技术入门 709
25.1 概述 709
25.1.1 认识asp.net 709
25.1.2 web命名空间 710
25.1.3 创建web应用程序 710
25.2 使用asp.net控件 712
25.2.1 用textbox控件实现文本输入 712
25.2.2 用button控件实现按钮 714
25.2.3 用hyperlink控件实现超链接 716
25.2.4 用dropdownlist、listbox等实现列表 717
25.2.5 用menu控件实现菜单导航 718
25.3 网页开发实例 720
25.3.1 设计留言本网站 721
25.3.2 欢迎页面实现 722
25.3.3 添加留言页面实现 723
25.3.4 查看留言页面实现 727
25.3.5 发布留言板网站 730
25.4 本章总结 732
第26章 服务器端控件详解 733
26.1 概述 733
26.1.1 认识服务器控件 733
26.1.2 服务器控件与html控件的区别 733
26.2 数据操作控件 734
26.2.1 使用sqldatasource控件连接数据 734
26.2.2 使用sqldatasource控件连接到数据库 735
26.2.3 使用gridview控件显示数据库中的数据 740
26.2.4 使用detailsview控件显示特定记录 742
26.3 验证控件 746
26.3.1 限制空字段控件requiredfieldvalidator 746
26.3.2 比较两个字段控件comparevalidator 747
26.3.3 检查指定范围控件rangevalidator 750
26.3.4 表达式验证控件regularexpressionvalidator 750
26.3.5 自定义验证控件customvalidator 751
26.3.6 错误信息汇总控件validationsummary 754
26.4 用户控件 756
26.5 本章总结 759
第7篇 .net 3.5的新增功能
第27章 wpf框架 762
27.1 wpf概述 762
27.1.1 wpf基础架构 762
27.1.2 wpf相关技术 763
27.2 wpf应用程序 764
27.2.1 wpf编程 764
27.2.2 wpf应用程序 768
27.2.3 wpf浏览器应用程序 770
27.3 简单wpf实例 772
27.3.1 listbox控件的使用与控件属性 772
27.3.2 使用hyperlink控件实现多页面切换 776
27.3.3 使用dockpanel布局控件 777
27.3.4 使用stackpanel布局控件 779
27.3.5 使用数据源集合实现多数据绑定 780
27.3.6 属性变更引起依赖数据绑定实例 783
27.3.7 使用brush填充图形 787
27.3.8 使用storyboard实现动画 794
27.3.9 使用storyboard实现控件的翻转 796
27.4 本章总结 798
第28章 wcf框架 799
28.1 wcf基础 799
28.1.1 wcf架构 799
28.1.2 wcf模型 800
28.2 创建wcf服务和客户端 801
28.2.1 创建wcf应用程序 801
28.2.2 定义wcf服务协定 802
28.2.3 实现wcf服务 803
28.2.4 运行wcf服务 804
28.2.5 创建wcf客户端 806
28.2.6 配置wcf客户端 807
28.2.7 使用wcf客户端 809
28.3 wcf技术 811
28.3.1 在wcf中使用会话 811
28.3.2 在wcf中使用事务 812
28.4 本章总结 814
第29章 wwf框架 815
29.1 概述 815
29.1.1 wwf框架 815
29.1.2 框架元素概述 816
29.2 wwf应用开发 817
29.2.1 创建wwf应用程序 817
29.2.2 wwf活动简介 820
29.2.3 wwf服务简介 822
29.3 通过wwf创建工作流应用 823
29.3.1 创建顺序工作流 823
29.3.2 创建带参数的顺序工作流 829
29.3.3 创建状态机工作流 833
29.4 本章总结 840
第30章 语言集成查询linq 841
30.1 linq概述 841
30.1.1 linq查询概述 841
30.1.2 创建简单linq查询 842
30.2 linq语言基础 843
30.2.1 linq查询表达式简介 843
30.2.2 linq查询语法和方法语法 845
30.2.3 使用linq进行数据合并 848
30.2.4 使用linq进行数据转换 849
30.3 linq简单对象模型与查询 851
30.3.1 linq to sql查询 851
30.3.2 linq to dataset查询 855
30.3.3 linq to xml查询 856
30.3.4 linq to object查询 858
30.4 本章总结 860
第8篇 综合案例
第31章 电子购物商城 862
31.1 系统总体设计 862
31.1.1 系统功能描述 862
31.1.2 webshopping应用程序组成 864
31.1.3 数据库表设计 865
31.1.4 数据库表之间关系设计 869
31.2 系统通用类和模块设计 870
31.2.1 系统常量和枚举设计 870
31.2.2 系统常用操作设计 870
31.2.3 标题模块设计 872
31.2.4 分页模块设计 873
31.2.5 系统级联样式表设计 878
31.2.6 系统皮肤设计 878
31.2.7 web.config配置文件设计 879
31.2.8 数据库实体类设计 880
31.3 电子购物商城首页 883
31.3.1 default.aspx页面 883
31.3.2 搜索模块 887
31.3.3 登录模块 888
31.3.4 新闻模块 890
31.3.5 公告模块 892
31.4 用户注册和登录 894
31.4.1 注册用户信息 894
31.4.2 提交用户信息 898
31.4.3 用户登录 902
31.4.4 退出系统 904
31.5 浏览商品、购物车和订单 905
31.5.1 查看商品 905
31.5.2 评论商品 909
31.5.3 购物车组件设计 913
31.5.4 购买商品 914
31.5.5 查看购物车 917
31.5.6 创建订单编号 921
31.5.7 创建订单 922
31.5.8 发布留言 927
31.6 商品搜索 930
31.6.1 简单搜索 930
31.6.2 高级搜索 933
31.7 用户信息中心 937
31.7.1 用户信息首页 938
31.7.2 动态加载操作菜单 940
31.7.3 查看个人信息 942
31.7.4 修改个人信息 944
31.7.5 修改密码 949
31.7.6 查看我的订单 952
31.8 商品及其分类管理 956
31.8.1 商品分类管理 957
31.8.2 动态加载商品分类层次结构 961
31.8.3 添加商品分类 963
31.8.4 修改商品分类 966
31.8.5 商品管理 969
31.8.6 动态加载商品分类层次树 976
31.8.7 添加商品 978
31.8.8 修改商品 982
31.8.9 商品图片管理 986
31.8.10 显示商品图片 991
31.8.11 商品评论管理 992
31.9 系统信息中心 997
31.9.1 新闻管理 998
31.9.2 发布新闻 1002
31.9.3 修改新闻 1005
31.9.4 发布公告 1008
31.9.5 留言管理 1011
31.10 系统用户和角色管理 1015
31.10.1 角色管理 1015
31.10.2 添加角色 1019
31.10.3 修改角色 1021
31.10.4 用户管理 1024
31.10.5 添加管理员 1029
31.11 本章总结... 1033
C#开发技术大全
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!
