第1章 C#基础知识 1
1.1 C#的产生 1
1.1.1 C#的产生背景 1
1.1.2 C#的推出 1
1.1.3 C#的重要特性 2
1.1.4 C#、C++和Java的比较 3
1.2 C#的数据类型 4
1.2.1 数值类型 6
小结 13
1.2.2 引用类型 21
1.2.3 装箱和拆箱 32
1.3 运算符的使用 34
1.3.1 赋值运算符 35
1.3.2 算术运算符 35
1.3.3 复合运算符 36
1.3.4 关系运算符 36
1.3.5 条件运算符 37
1.3.6 其他运算符 38
1.3.7 运算符优先级 43
1.4 C#程序结构 44
1.4.1 选择结构 44
1.4.2 循环结构 47
1.4.3 转移结构 52
1.5 C#的命名空间 56
1.5.1 namespace关键字 56
1.5.2 using关键字 58
1.6 类 60
1.6.1 类与面向对象编程 60
1.6.2 定义类 60
1.6.3 类的声明 60
1.6.4 类的成员 61
1.6.5 Main方法 63
1.6.6 构造函数 64
1.6.7 类的继承 69
1.6.8 类的属性 73
1.6.9 索引器 78
1.6.10 事件 80
1.7 接口 85
1.7.1 接口的声明 85
1.7.2 接口的使用 86
1.7.3 接口成员的限定名 92
1.7.4 接口绑定 96
1.7.5 接口的属性 97
1.8 重载 99
1.8.1 方法重载 99
1.8.2 构造函数重载 101
1.8.3 运算符重载 104
1.9 异常处理和非安全代码 109
1.9.1 异常处理 109
1.9.2 非安全代码 114
1.10 射 121
1.10.1 反射的概念 121
1.10.2 反射的使用方法 121
1.11 程序集 126
1.11.1 程序集概述 126
1.11.2 程序集的优点 127
1.11.3 程序集内容 128
1.11.4 单文件程序集 128
1.11.5 多文件程序集 128
1.11.6 创建程序集 129
1.12.2 如何查找错误 133
1.12.3 预处理器编译指令 133
1.12.1 什么是调试 133
1.12 C#调试技术 133
综合练习题一 139
一、选择题 139
二、填空题 140
三、上机题 140
第2章 第一个C#程序——helloC 141
2.1 helloC 141
2.1.1 helloC#程序 141
2.1.2 与C++程序的比较 143
2.1.3 与Java程序的比较 143
2.1.4 C#中的输入与输出 144
2.2 图形界面的helloC 150
2.2.1 图形界面的设计 150
2.2.2 加入Button控件和MessageBox 154
2.2.3 MessageBox的使用 155
小结 160
综合练习题二 160
一、选择题 160
二、填空题 161
三、上机题 161
第3章 基本控件 163
3.1 WindowsForms模式 163
3.1.1 窗体 163
3.1.2 控件 164
3.1.3 事件 165
3.2 标注类控件 165
3.2.1 Label控件 165
3.2.2 LinkLabel控件 168
3.3 文本编辑类控件 170
3.3.1 TextBox控件 170
3.3.2 RichTextBox控件 172
3.4 按钮类控件 174
3.4.1 Button控件 174
3.4.2 RadioButton控件 174
3.4.3 CheckBox控件 177
3.5 容器类控件 179
3.5.1 GroupBox控件 179
3.5.2 Panel控件 181
3.6 列表框类控件 182
3.6.1 ListBox控件 182
3.6.2 CheckedListBox控件 184
3.6.3 ComboBox控件 185
3.7 视图列表类控件 187
3.7.1 ListView控件 187
3.7.2 TreeView控件 189
3.8.2 菜单类控件 190
3.8.1 对话框类控件 190
3.8 其他主要控件 190
3.8.3 图形类控件 191
3.8.4 WindowsForms控件层次结构 191
小结 192
综合练习题三 192
一、选择题 192
二、填空题 192
三、上机题 193
第4章 文本编辑 195
4.1 调整Form的属性 195
4.2 加入文本框 196
4.2.1 文本框的使用 196
4.2.2 在程序中加入TextBox 197
4.2.3 在文本框中编辑文本 199
4.3.2 MenuItem的使用 200
4.3 加入菜单 200
4.3.1 MainMenu概述 200
4.3.3 为文本编辑器加入菜单 201
4.3.4 处理MenuItem.Click事件 208
4.3.5 复制、粘贴与剪切 209
4.3.6 如何动态控制菜单 213
4.4 加入上下文菜单 215
4.4.1 ContextMenu概述 215
4.4.2 ContexMenu的使用 215
4.4.3 利用弹出式菜单实现多种功能 217
4.5 实现打开文件 218
4.5.1 OpenFileDialog概述 218
4.5.2 Filter的使用 219
4.5.3 如何获取文件名和打开文件 220
4.6.1 SaveFileDialog概述 223
4.6 实现保存文件 223
4.6.2 如何保存文件 224
4.7 实现改变字体 226
4.7.1 FontDialog概述 227
4.7.2 改变字体 227
4.8 实现改变颜色 228
4.8.1 ColorDialog概述 228
4.8.2 改变颜色 229
4.9 打印文本 230
4.9.1 PrintDocument类 230
4.9.2 PageSetupDialog和PrintDialog 233
4.10 完整的文本编辑器 235
4.11 高级部分——功能更强大的文本编辑 239
4.11.1 RichTextBox概述 240
一、选择题 243
综合练习题四 243
小结 243
4.11.2 更灵活的文本处理 243
二、填空题 244
三、上机题 244
第5章 C#中的图形处理 246
5.1 GDI+ 246
5.1.1 GDI+概述 246
5.1.2 GDI+的组成 247
5.1.3 GDI+的新增功能 247
5.1.4 GDI+编程与GDI编程的不同 249
5.2 System.Drawing和System.Drawing.Drawing2D 250
5.2.1 System.Drawing命名空间 250
5.2.2 System.Drawing.Drawing2D命名空间 252
5.2.3 System.Drawing.Graphics类 253
5.3.1 屏幕保护程序设计概述 259
5.3 屏幕保护程序设计实例 259
5.3.2 变幻直线屏幕保护 262
5.3.3 弹珠屏幕保护 265
5.3.4 Bezier屏幕保护 270
5.3.5 Koch曲线屏幕保护 274
小结 278
综合练习题五 278
一、选择题 278
二、填空题 279
三、上机题 279
第6章 多媒体编程 281
6.1 图像浏览器 281
6.1.1 界面设计 282
6.1.2 代码生成 283
6.2 图像格式转换 291
6.2.1 界面设计 291
6.1.3 浏览图片 291
6.2.2 代码生成 292
6.2.3 转换图片格式 297
6.3 音频与视频播放 298
6.3.1 MediaPlayer 298
6.3.2 制作媒体播放器 298
6.3.3 播放媒体文件 305
小结 305
综合练习题六 306
一、选择题 306
二、填空题 306
三、上机题 306
第7章 数据库编程 307
7.1.1 ADO.NET的概念和对象模型 308
7.1 .NET中的数据库编程基础 308
7.1.2 DataSet体系结构 309
7.1.3 .NET的数据提供器 310
7.1.4 SQLServer.NET数据提供器 311
7.1.5 OLEDB.NET数据提供器 312
7.2 通讯录应用程序实例 313
7.2.1 与数据库建立连接 314
7.2.2 操控数据库中的记录 321
7.2.3 应用DataSet 335
7.2.4 用DataSet更新数据库 352
小结 358
综合练习题七 358
一、选择题 358
二、填空题 359
三、上机题 359
8.1.1 网络的基本知识 360
8.1 网络编程概述 360
第8章 网络编程 360
8.1.2 Client/Server模式 361
8.1.3 网络连接的流程 361
8.2 System.NET和System.NET.Socket 361
8.2.1 System.NET命名空间 361
8.2.2 System.NET.Socket命名空间 366
8.3 聊天工具实例 369
8.3.1 准备工作 369
8.3.2 界面设计 370
8.3.3 代码编写 372
8.4 文件传输实例 392
8.4.1 文件流对象 392
8.4.2 文件传输机制 392
8.4.3 界面设计 398
8.4.4 代码编写 399
8.5.1 E-mail的工作原理及其优点 409
8.5 E-mail软件实例 409
8.5.2 邮件收发协议 410
8.5.3 System.Web.Mail命名空间 411
8.5.4 System.IO.StreamReader类 412
8.5.5 收发E-mail软件 412
小结 420
综合练习题八 420
一、选择题 420
二、填空题 421
三、上机题 421
附录 MicrosoftVisualStudio.NET的安装 422
A.1MicrosoftVisualStudio.NET的配置 422
A.2VisualStudio.NET的安装界面 422
A.3VisualStudio.NET的安装部件 427
参考答案 430