第1篇 基础知识篇第1章 C#概述 3
知识点面向对象程序设计(OOP)C#语言轶事C#开发环境简单的C#程序示例难点C#开发环境的搭建简单C#程序开发方法视频教程创C#环境安装C#程序开发实例 3
1.2 C#语言轶事 6
1.2.1 出身有点无奈 6
1.2.2 源头在C和C++ 6
1.2.3 C#与Java的区别 7
1.3 C#开发环境 7
1.3.1 Visual Studio 2005 C#的安装 8
1.3.2 MSDN的安装 10
1.3.3 Visual Studio 2005 C#的使用 11
1.4 简单的C#程序示例 14
1.4.1 控制台应用程序示例 14
1.4.2 WinForm程序示例 15
1.4.3 Web站点程序示例 16
1.4.4 类库程序示例 17
1.5 本章小结 19
第2章 C#语言基础 21
知识点常量与变量运算符流程控制语句复杂类型预处理难点数据类型的理解流程控制预处理视频教程循环语句跳转语句运算符预处理 21
2.1 话说C# 22
2.2 数据类型的继承与发展 22
2.2.1 值类型 22
2.2.2 引用类型 26
2.3 单个的元素——变量和常量 27
2.3.1 变量的命名 27
2.3.2 变量的声明 27
2.3.3 变量的范围 28
2.3.4 变量的修饰符 29
2.3.5 常量 31
2.4 元素的连接——运算符 31
2.4.1 算术运算符 32
2.4.2 赋值运算符 33
2.4.3 其他运算符 33
2.4.4 运算符的优先级关系 36
2.5 语句可以这样执行——流程控制 37
2.5.1 条件语句 37
2.5.2 循环语句 40
2.5.3 跳转语句 43
2.6 元素的扩展——复杂类型 44
2.6.1 枚举类型 44
2.6.2 数组类型 45
2.7 编程注释 46
2.8 很有用的预处理 46
2.8.1 #define和#undef 47
2.8.2 #if、#else、#elif和#endif 47
2.8.3 #warning和#error 48
2.8.4 #region和#endregion 48
2.9 本章小结 50
第3章 调试与异常处理 51
知识点如何找到程序中的错误异常处理throw语句try...catch...finally语句难点throw语句try...catch...finally语句视频教程throw语句try...catch...finally语句 51
3.1 调试 52
3.1.1 程序中的错误 52
3.1.2 如何找到程序中的错误 52
3.2 异常处理 55
3.2.1 为什么要使用异常处理 56
3.2.2 throw语句 56
3.2.3 try...catch...finally语句 58
3.3 本章小结 63
第4章 C#中的面向对象设计 65
知识点面向对象的概念类和对象类的方法类的继承和多态抽象类抽象方法接口难点面向对象的概念类的继承和多态抽象方法接口视频教程构造函数与析构函数方法重载多态接口 65
4.1 面向对象设计简介 66
4.2 面向对象的基础——类 66
4.2.1 类的声明 66
4.2.2 类的变量 67
4.2.3 构造函数 68
4.2.4 析构函数 70
4.3 类的活动——方法 71
4.3.1 方法的定义 71
4.3.2 方法调用 72
4.3.3 方法重载 73
4.3.4 静态方法 75
4.4 面向对象的精髓——继承与多态 76
4.4.1 继承 76
4.4.2 多态 78
4.5 抽象类与接口 82
4.5.1 抽象类和抽象方法 82
4.5.2 接口 83
4.6 本章小结 86
第5章 C#.NET命名空间和类库 87
知识点命名空间程序集.NET框架类库难点命名空间的使用为什么使用程序集视频教程命名空间的使用 87
5.1 C#.NER命名空间概述 88
5.2 C#.NET命名空间的使用 89
5.2.1 创建命名空间 89
5.2.2 使用命名空间 90
5.3 程序集概述 92
5.3.1 什么是程序集 93
5.3.2 为什么使用程序集 94
5.3.3 程序集的功能 95
5.4 .NET框架类库 95
5.4.1 .NET框架类库概述 96
5.4.2 ADO.NET组件 96
5.4.3 XML数据组件 97
5.4.4 Windows Forms组件 98
5.4.5 Web Forms组件 98
5.5 本章小结 99
第6章 需要掌握的类对象和方法 101
知识点集合类的使用接口索引器委托和事件泛型难点通过接口实现多重继承索引器与属性的区别多重传送委托和多重传送事件泛型集合List〈T〉和Directory〈K,V〉视频教程操作字符串字符串格式化泛型 101
6.1 属性 102
6.1.1 属性的定义 102
6.1.2 属性的使用 103
6.2 数组 104
6.2.1 数组及其声明 104
6.2.2 数组的应用 106
6.3 集合类 108
6.3.1 什么是集合类 109
6.3.2 使用集合类 109
6.4 结构 112
6.4.1 结构的声明 112
6.4.2 结构的使用 113
6.4.3 结构和类的区别 114
6.5 接口 114
6.5.1 接口的声明与实现 115
6.5.2 通过接口实现多重继承 116
6.5.3 显式接口实现 119
6.6 枚举 120
6.6.1 枚举类型的声明 120
6.6.2 枚举的使用 121
6.7 索引器 122
6.7.1 什么是索引器 123
6.7.2 使用索引器 123
6.7.3 比较索引器与属性 125
6.8 委托和事件 125
6.8.1 委托 126
6.8.2 多重传送委托 127
6.8.3 事件 128
6.8.4 多重传送事件 129
6.9 泛型 131
6.9.1 泛型概述 131
6.9.2 使用泛型 131
6.9.3 泛型集合List〈T〉和Directory〈K,V〉 133
6.10 字符串类 134
6.10.1 了解字符串 134
6.10.2 操作字符串 135
6.10.3 字符串的格式化 137
6.11 本章小结 138
第7章 线程的应用和I/O读写操作 139
知识点线程的生命周期System.IO命名空间File类缓冲区的读写难点线程的生命周期线程同步技术FileStream类缓冲区的读写视频教程FileStream类文件的读写 139
7.1 线程——现代操作系统的基础 140
7.2 C#与线程 140
7.2.1 创建线程 142
7.2.2 线程的生命周期 143
7.2.3 线程同步技术 144
7.3 I/O读写操作 146
7.3.1 System.IO命名空间 146
7.3.2 File类和Directory类 147
7.3.3 FileStream类 153
7.3.4 缓冲区的读写 156
7.4 本章小结 159
第8章 Windows应用程序设计 161
知识点窗体的概念属性方法事件常用控件的使用菜单的使用各种对话框的使用难点窗体间的调用快捷菜单的使用对话框视频教程Load事件窗体间的调用主菜单快捷菜单 161
8.1 窗体及窗体的属性和方法 162
8.2 窗体常用事件 163
8.2.1 Load事件 164
8.2.2 窗体间的调用 165
8.3 Windows窗体中常用控件 167
8.3.1 标签控件(Label) 167
8.3.2 文本框控件(TextBox) 168
8.3.3 按钮控件(Button) 169
8.4 菜单的使用 170
8.4.1 创建主菜单 170
8.4.2 创建快捷菜单 172
8.5 很有用的对话框 174
8.5.1 消息框 174
8.5.2 “打开”对话框 176
8.5.3 “保存”对话框 178
8.5.4 “字体”对话框 179
8.5.5 “颜色”对话框 180
8.6 本章小结 181
第9章 ASP.NET开发 183
知识点ASP.NET内置对象Web页面数据显示技术数据验证控件网站设计新技术难点Server对象和Cookie对象GridView控件母版页和内容页视频教程开发环境搭建GridView控件DataList控件DetailsView控件母版页和内容页 183
9.1 ASP.NET简介 184
9.1.1 ASP.NET优势 184
9.1.2 ASP.NET开发环境搭建 184
9.2 认识ASP.NET内置对象 186
9.2.1 Page对象 187
9.2.2 Request对象 188
9.2.3 Response对象 188
9.2.4 Server对象 188
9.2.5 Application对象 189
9.2.6 Session对象 189
9.2.7 Cookie对象 190
9.3 Web页面数据显示技术 191
9.3.1 GridView控件 191
9.3.2 DataList控件 203
9.3.3 DetailsView控件 207
9.4 数据验证控件 210
9.5 ASP.NET网站设计新技术 212
9.5.1 如何绘制站点地图 212
9.5.2 创建母版页和内容页 215
9.6 本章小结 217
第10章 数据库与网络应用 219
知识点ADO.NET数据库访问数据绑定控件System.Net.SocketsTcpListener和NetworkStream难点ADO.NET访问数据库数据绑定Socket网络通信视频教程DataGrid控件DataGridView控件ComboBox控件 219
10.1 数据库访问 220
10.1.1 了解ADO.NET基本概念 220
10.1.2 如何使用ADO.NET访问数据库 222
10.2 Windows窗体中数据绑定控件 226
10.2.1 DataGrid控件 226
10.2.2 DataGridView控件 230
10.2.3 ComboBox控件 235
10.2.4 ListBox控件 238
10.3 网络应用 241
10.3.1 一个标准的Socket网络通信模型 241
10.3.2 System.Net、System.Net.Socket命名空间 242
10.3.3 TcpClient、TcpListener和NetworkStream 247
10.4 本章小结 252
第2篇 通用实例篇第11章 窗体应用程序——视频播放器 255
知识点COM组件Windows Media Player的使用C#对注册表的访问难点COM组件Windows Media Player的使用C#对注册表的访问视频教程Windows Media Player的使用C#对注册表的访问窗体设计 255
11.1 实例说明 256
11.2 需要掌握的开发技术 256
11.2.1 理解和使用COM组件 256
11.2.2 Windows Media Player的使用 259
11.2.3 C#对注册表的访问 261
11.3 编程实现 263
11.3.1 COM组件引入和窗体设计 263
11.3.2 为窗体编写程序 266
11.3.3 运行效果 269
11.4 本章小结 270
第12章 GDI+程序——画图板 271
知识点GDI+技术控件与对话框的使用鼠标事件图形的读取与保存难点GDI+显示技术鼠标的操作图形的读取和保存绘图的实现视频教程程序窗体设计绘图板使用 271
12.1 实例说明 272
12.2 实例用到的开发技术 272
12.2.1 GDI+显示技术 272
12.2.2 控件及对话框的使用 273
12.2.3 看看鼠标怎么操作 274
12.2.4 图形的读取和保存 275
12.3 编程实现 277
12.3.1 设计一个绘图类 277
12.3.2 窗体编程 281
12.3.3 绘图是怎么实现的 285
12.4 本章小结 287
第13章 网络访问实例——邮件小助手 289
知识点POP3协议Socket编程托盘图标程序设计文件的读写难点POP3协议托盘图标程序与快捷菜单视频教程托盘程序设计文件读写窗体设计 289
13.1 实例说明 290
13.2 实例用到的开发技术 290
13.2.1 其实邮件很简单 291
13.2.2 再谈Socket编程 292
13.2.3 创建一个托盘图标程序 295
13.2.4 文件的读写 297
13.3 编程实现 300
13.3.1 窗体及控件设计 300
13.3.2 为窗体和控件编写程序 303
13.3.3 运行效果 308
13.4 本章小结 308
第14章 数据库访问程序——简易银行系统 309
知识点ADO.NET概念访问数据库一般方法公用模块设计难点ADO.NET中的类数据库连接字符串数据库访问类设计视频教程公用模块设计窗体设计 309
14.1 实例说明 310
14.2 实例用到的开发技术 310
14.2.1 什么叫ADO.NET 310
14.2.2 ADO.NET中的类 313
14.2.3 如何使用ADO.NET 316
14.3 编程实现 322
14.3.1 公用模块设计 323
14.3.2 窗体设计 331
14.3.3 程序设计 333
14.3.4 运行效果 344
14.4 本章小结 345
第15章 XML读写程序——学生管理系统 347
知识点XML的基本概念C#中对XML的操作方法XML与DataSet转换TreeView控件的使用难点C#中对XML的操作方法、XML与DataSet转换视频教程C#中对XML的操作方法TreeView控件的使用窗体程序设计 347
15.1 实例说明 348
15.2 实例用到的开发技术 348
15.2.1 了解一下XML 348
15.2.2 C#中XML文件操作方法 354
15.2.3 XML与DataSet的转换 357
15.2.4 TreeView控件操作 359
15.3 编程实现 361
15.3.1 窗体设计和XML文件 361
15.3.2 程序设计 365
15.3.3 运行效果 375
15.4 本章小结 375
第16章 组件开发程序——电子印章 377
知识点组件开发的一般步骤C#中Word文档操作C#中PDF文档操作窗体间的数据传递难点C#中Word文档操作C#中PDF文档操作窗体间的数据传递视频教程C#中Word文档操作窗体间的数据传递窗体设计 377
16.1 实例说明 378
16.2 实例用到的开发技术 378
16.2.1 深入了解组件开发技术 378
16.2.2 在C#中处理Word文档 384
16.2.3 C#中Word文档转PDF文档的方法 390
16.2.4 如何在窗体间数据传递 394
16.3 编程实现 397
16.3.1 窗体设计 397
16.3.2 程序设计 398
16.3.3 运行效果 402
16.4 本章小结 403
第17章 ASP.NET程序——新闻发布系统 405
知识点新闻系统的结构模型Request对象和Session对象的使用复杂数据绑定配置Web.config难点Request对象和Session对象复杂数据绑定视频教程用户控件设计母版页设计复杂数据绑定 405
17.1 实例说明 406
17.2 实例用到的开发技术 406
17.2.1 使用模型设计 406
17.2.2 如何使用Request对象 408
17.2.3 如何使用Session对象 409
17.2.4 数据绑定深入——复杂数据绑定 410
17.3 编程实现 413
17.3.1 配置web.config 414
17.3.2 创建Web用户控件和母版页 414
17.3.3 Index.asp页 420
17.3.4 classnews.aspx页 426
17.3.5 newscontent.aspx页 428
17.3.6 manager.aspx页 429
17.3.7 writer.aspx页 437
17.3.8 运行效果 442
17.4 本章小结 442
第3篇 三层架构与综合实例篇第18章 C#项目开发规范与三层架构 445
知识点规范化命名编码规范用户界面规范三层结构的搭建难点C#编程规范搭建三层结构视频教程创建三层结构 445
18.1 认识C#编程规范 446
18.1.1 如何规范化命名 448
18.1.2 代码格式 450
18.1.3 如何规范化注释 451
18.1.4 管理文档 453
18.1.5 实施标准 454
18.2 三层结构开发模式 454
18.2.1 三层结构概念 454
18.2.2 如何搭建三层结构 455
18.3 本章小结 464
第19章 酒店管理系统 465
知识点页面设计SQL Server数据库三层结构常用Web服务器控件难点模型层(实体类)设计三层结构设计数据访问层开发业务逻辑层开发表示层开发视频教程创建母版页客房信息页编辑房间类型页 465
19.1 系统概述及需求分析 466
19.2 如何设计系统数据库 466
19.3 学会三层结构设计 468
19.4 设计模型层(实体类) 468
19.5 搭建数据访问层 472
19.5.1 RoomService类 474
19.5.2 RoomStateService类 477
19.5.3 RoomTypeService类 478
19.6 搭建业务逻辑层 480
19.6.1 RoomManager类 480
19.6.2 RoomStateManager类 481
19.6.3 RoomTypeManager类 481
19.7 实现表示层 483
19.7.1 母版页(common.master) 483
19.7.2 查看客房信息(ViewRoom.aspx) 487
19.7.3 查看房间类型(ViewRoomType.aspx) 493
19.7.4 编辑房间类型(EditRoomType.aspx) 494
19.7.5 添加客房类型(AddRoomType.aspx) 496
19.7.6 查看房间状态(ViewRoomState.aspx) 498
19.7.7 编辑房间信息(EditRoom.aspx) 502
19.8 本章小结 504
第20章 培训网 505
知识点页面设计SQL Server数据库三层结构扩展常用Web服务器控件ASP.NET AJAX难点三层架构扩展ASP.NET AJAX视频教程系统三层架构设计AJAX及扩展包安装管理公开课页 505
20.1 系统概述及需求分析 506
20.2 如何设计系统数据库 507
20.3 学会三层结构设计 512
20.4 模型层(实体类) 512
20.5 搭建数据访问层 518
20.5.1 KindService类 520
20.5.2 KeyWordContentService类 521
20.5.3 CommonService类 522
20.5.4 PersonalInfoService类 524
20.5.5 ReleaseNeedUserService类 525
20.5.6 ReleaseNeedService类 526
20.5.7 AgentService类 528
20.5.8 CourgeService类 530
20.6 搭建业务逻辑层 533
20.6.1 KindManage类 533
20.6.2 KeyWordContentManage类 534
20.6.3 CommonManage类 534
20.6.4 PersonalInfoManage类 535
20.6.5 ReleaseNeedUserManage类 536
20.6.6 ReleaseNeedManage类 536
20.6.7 AgentManage类 537
20.6.8 CourseManage类 538
20.7 实现表示层 538
20.7.1 安装ASP.NET AJAX及其扩展控件工具包 539
20.7.2 主页(index.aspx) 541
20.7.3 登录(com_login.aspx) 547
20.7.4 培训用户相关功能 551
20.7.5 培训机构相关功能 556
20.7.6 管理员相关功能 564
20.8 本章小结 572