第1章 C#概述 1
1.1 Microsoft.NET平台概述 1
1.1.1 Microsoft.NET平台 1
1.1.2 .NET Framework 2
1.2 C#语言简介 4
1.2.1 C#语言的特点 5
1.2.2 C# 4.0中的新特性 5
1.2.3 C#语言简单认识 6
1.3 Visual Studio 2010集成开发环境 9
1.3.1开发环境简介 9
1.3.2创建应用程序 13
1.3.3生成应用程序文件简介 18
1.4 .NET程序集 19
1.4.1单文件程序集和多文件程序集 19
1.4.2 CIL的作用 19
1.4.3 .NET类型元数据的作用 20
1.4.4程序集清单的作用 20
本章小结 20
思考与练习 21
第2章 C#语法基础 22
2.1数据类型 22
2.1.1值类型 22
2.1.2引用类型 25
2.1.3指针类型 42
2.1.4类型转换 47
2.1.5 dynamic类型 53
2.2变量和常量 54
2.2.1变量 54
2.2.2常量 56
2.3语句 57
2.3.1表达式语句 57
2.3.2流程控制语句 61
2.3.3异常处理语句 68
本章小结 71
思考与练习 71
第3章 C#面向对象程序设计 73
3.1类 73
3.1.1类的声明 73
3.1.2类的成员 77
3.1.3分部类 93
3.1.4泛型类 94
3.2委托与事件 98
3.2.1委托 99
3.2.2事件 104
3.3接口 110
3.3.1接口声明 110
3.3.2接口实现 113
3.4继承与多态 114
3.4.1继承 115
3.4.2多态 119
3.5特性 120
3.5.1 Attribute的概念 120
3.5.2 Attribute作为编译器的指令 120
3.5.3 Attribute类 122
本章小结 124
思考与练习 124
第4章 Windows程序设计基础 126
4.1Windows应用程序框架 126
4.1.1 Windows程序与DOS方式程序的比较 126
4.1.2 Windows程序运行机制 126
4.2常用Windows窗体控件 128
4.2.1Button(按钮)控件 128
4.2.2 TextBox(文本框)和Label标签)控件 131
4.2.3 CheckBox(复选框) 133
4.2.4 RadioButton(单选按钮)控件 133
4.2.5 ListBox(列表框) 134
4.2.6 ComboBox(组合框) 135
4.2.7 ToolTip控件(工具提示) 137
4.3高级控件 137
4.3.1 Timer(计时器)控件 137
4.3.2 ProgressBar(进度条) 138
4.3.3 ListView(列表视图) 139
4.3.4 TreeView(树形视图) 142
4.3.5 Splitter控件 144
4.3.6 GroupBox控件与Panel控件 145
4.3.7 TabControl控件 146
4.3.8 StatusStrip控件 147
4.3.9 ToolStrip控件 148
4.4菜单编程 150
4.4.1菜单程序简介 150
4.4.2菜单控件 150
4.4.3菜单控件应用 151
4.4.4菜单访问键和快捷键 152
4.5窗体创建与数据传递 153
4.5.1窗体的创建 153
4.5.2窗体间数据传递 154
本章小结 155
思考与练习 155
第5章 对话框与多文档编程 156
5.1对话框 156
5.1.1消息框 156
5.1.2打开文件对话框(OpenFileDialog) 158
5.1.3保存文件对话框(SaveFileDialog) 159
5.1.4字体对话框(FontDialog) 161
5.1.5颜色对话框(ColorDialog) 162
5.1.6页面设置对话框(PageSetupDialog) 163
5.1.7打印预览及打印对话框 163
5.2多文档编程 166
5.2.1创建主窗体(即MDI窗体) 166
5.2.2为主窗体添加处理方法 168
5.2.3创建子窗体 171
5.2.4为子窗体添加处理方法 171
5.2.5关联子窗体与主窗体 172
5.2.6合并菜单 172
5.2.7演示多文档程序 172
本章小结 173
思考与练习 173
第6章 文件操作 174
6.1文件流类 174
6.1.1 Stream类 174
6.1.2 FileStream类 176
6.2文件流的读/写类 178
6.2.1 BinaryReader和BinaryWriter类 178
6.2.2 StreamReader和StreamWriter类 180
6.3文件类和目录类 182
6.3.1文件类 182
6.3.2目录类 184
6.4 Path类 187
6.5存储管理举例 188
6.5.1文件管理 188
6.5.2列出文件 188
6.5.3查看文件信息 188
6.5.4目录管理 189
6.5.5列出磁盘驱动器 189
6.5.6列出子目录 190
6.6 C#中对注册表和INI文件的操作 190
6.6.1对注册表文件的操作 190
6.6.2对INI文件的操作 192
本章小结 193
思考与练习 193
第7章 C#图形图像编程基础 194
7.1 GDI+绘图基础 194
7.1.1 GDI+概述 194
7.1.2 Graphics类 194
7.1.3常用画图对象 196
7.1.4基本图形绘制举例 199
7.1.5画刷和画刷类型 200
7.2 C#图像处理基础 204
7.2.1C#图像处理概述 204
7.2.2图像的输入和保存 205
7.2.3图像的复制和粘贴 208
7.2.4彩色图像处理 211
7.2.5图像的创建与修改 215
本章小结 220
思考与练习 220
第8章 进程和线程 221
8.1进程 221
8.1.1进程模式 221
8.1.2操作进程 223
8.2线程 226
8.2.1操作线程 226
8.2.2多线程同步 230
8.2.3 C#多线程AutoResetEvent与ManualResetEvent 240
8.2.4线程池 241
本章小结 243
思考与练习 243
第9章 C#网络编程基础 244
9.1 C#中的DNS开发 244
9.1.1 IP地址和DNS简介 244
9.1.2与DNS相关类及方法简介 245
9.1.3 DNS编程举例 247
9.2 C#套接字 248
9.2.1套接字编程原理 248
9.2.2与套接字相关类的简介 249
9.2.3套接字编程举例 252
本章小结 259
思考与练习 259
第10章 数据库编程 260
10.1 ADO.NET概述 260
10.1.1 ADO.NET体系结构概述 260
10.1.2 ADO.NET对象简介 262
10.1.3常用数据库访问方式 264
10.2数据库的连接 265
10.2.1连接字符串 265
10.2.2连接字符串说明 266
10.2.3打开和关闭连接 268
10.3数据库基本操作 268
10.4数据库应用开发 274
10.4.1数据绑定 274
10.4.2数据库开发实践 275
10.5水晶报表 280
10.5.1 Crystal Reports概述 280
10.5.2报表数据访问 280
10.5.3报表设计 281
10.5.4创建简单报表 282
10.5.5在Windows应用程序中承载报表 285
本章小结 290
思考与练习 290
第11章 组件编程 291
11.1相关概念 291
11.2类库制作 292
11.2.1制作一个类库组件 292
11.2.2使用组件 293
11.3制作用户控件 294
11.3.1用户控件制作 295
11.3.2使用用户控件 296
11.4制作自定义控件 297
11.4.1创建自定义控件 297
11.4.2使用自定义控件 302
11.5在WinForm中使用COM组件播放视频文件 304
11.6基于DirectShow进行声音和视频处理 306
11.6.1 DirectShow基础 306
11.6.2 DirectShow的用法 306
本章小结 309
思考与练习 309
参考文献 310