第1部分 基础篇 2
第1章 .NET与C#简介 2
1.1 .NET简介 2
1.1.1 .NET平台简介 2
1.1.2 .NET Framework结构与功能 3
1.1.3 .NET Framework类库 4
1.1.4 公共语言运行库(CLR)简介 4
1.2 C#简介 6
1.2.1 C#语言的由来 6
1.2.2 C#语言的特点 6
习题 7
第2章 Visual Studio简介与安装 8
2.1 Visual Studio的发展历史和优点 8
2.2 Visual Studio 2012集成开发环境安装 9
习题 12
第3章 C#语言基础 13
3.1 标识符与关键字 13
3.1.1 关键字 13
3.1.2 标识符 14
3.2 常量和变量 14
3.2.1 常量 14
3.2.2 变量 15
3.3 值类型 17
3.3.1 简单值类型 17
3.3.2 结构类型 19
3.3.3 枚举类型 20
3.4 引用类型 20
3.4.1 类类型 20
3.4.2 字符串类型 21
3.4.3 数组类型 22
3.5 类型转换 23
3.5.1 隐式转换 24
3.5.2 显式转换 24
3.5.3 使用Convert类的方法进行转换 24
3.6 运算符与表达式 25
3.6.1 运算符 25
3.6.2 表达式 27
3.7 流程控制 27
3.7.1 条件语句 28
3.7.2 循环语句 29
3.7.3 跳转语句 31
3.8 异常处理 33
3.8.1 异常简介 33
3.8.2 异常处理语句 33
扩展学习:数值除法应用技巧 34
习题 36
第2部分 入门篇 38
第4章 Windows窗体设计基础 38
4.1 Windows窗体应用程序设计流程 38
4.2 项目与解决方案 39
4.3 窗体与控件 39
4.3.1 窗体简介 39
4.3.2 控件简介 40
4.4 简单的上机考试系统界面设计 40
4.4.1 系统功能设计及项目创建 40
4.4.2 Windows窗体应用 42
4.4.3 PictureBox控件简介及其应用 43
4.4.4 Label控件简介及其应用 45
4.4.5 添加新窗体 46
4.4.6 TextBox控件简介及其应用 47
4.4.7 RadioButton与Panel控件简介及其应用 48
4.4.8 ListBox ComboBox控件简介及其应用 50
4.4.9 CheckBox控件简介及其应用 51
4.4.10 Timer控件简介及其应用 53
4.4.11 Button控件简介及其应用 54
4.4.12 设置项目的启动窗体 55
4.4.13 MenuStrip控件简介及其应用 56
4.4.14 ToolStrip控件简介及其应用 57
扩展学习:StatusStrip控件简介及其应用 58
习题 60
第5章 Windows窗体应用程序设计 61
5.1 面向对象编程简介 61
5.1.1 类和对象 61
5.1.2 类的声明与实例化 61
5.1.3 封装、继承与多态性 63
5.2 方法 63
5.2.1 方法的声明与调用 64
5.2.2 方法的参数简介 64
5.2.3 方法的重载简介 66
5.3 事件 66
5.4 上机考试系统程序设计 66
5.4.1 菜单栏程序设计 67
5.4.2 工具栏程序设计 68
5.4.3 考试评分程序设计 69
5.4.4 考试计时程序设计 70
5.5 命名空间 71
5.6 代码的书写规范及其注释用法 72
5.6.1 代码书写规范 73
5.6.2 代码注释方法 73
扩展学习:程序调试 74
习题 76
第6章 Windows窗体的显示模式与对话框 77
6.1 Windows窗体的显示模式简介 77
6.2 Windows通用对话框简介 78
6.3 MessageBox消息对话框简介及其应用 78
扩展学习:关于对话框简介及其应用 80
习题 82
第7章 Windows进程与线程程序设计 83
7.1 进程与线程简介 83
7.2 进程程序设计 84
7.3 线程程序设计基础知识 86
7.4 多线程程序设计 90
7.4.1 多线程简介 90
7.4.2 多线程互斥与同步简介 91
7.4.3 多线程互斥程序设计 91
7.4.4 多线程同步程序设计 101
7.5 Windows窗体控件的跨线程访问 104
7.5.1 非线程安全的窗体控件访问简介 105
7.5.2 线程安全的窗体控件访问简介 105
扩展学习:线程安全的窗体控件访问程序设计 105
习题 107
第8章 数据库访问程序设计 109
8.1 数据库应用基础 109
8.1.1 数据库概述 109
8.1.2 Access数据库简介 110
8.1.3 SQL Server数据库简介及其应用 110
8.1.4 SQL简介 113
8.2 ADO.NET简介 115
8.2.1 ADO.NET功能简介 115
8.2.2 ADO.NET数据提供程序 116
8.2.3 ADO.NET数据提供程序的核心对象 116
8.3 ADO.NET数据库访问 117
8.3.1 ADO.NET数据库访问基础知识 118
8.3.2 利用SqlConnection类连接数据库 119
8.3.3 DataSet数据集与DataAdapter数据适配器简介及应用 120
8.3.4 利用SqlCommand类访问数据库 123
8.3.5 DataReader类简介 125
8.3.6 利用DataTable类和DataView类更新数据及控制视图 126
扩展学习:将DataGridView控件的数据导出为Excel 130
习题 132
第9章 LINQ技术及其应用 133
9.1 LINQ简介 133
9.2 LINQ to SQL简介 134
9.3 LINQ to SQL应用 134
9.3.1 利用LINQ to SQL查询SQL Server数据 134
9.3.2 利用LINQ to SQL添加SQL Server数据 138
9.3.3 利用LINQ to SQL修改SQL Server数据 139
9.3.4 利用LINQ to SQL删除SQL Server数据 140
扩展学习:利用LINQ to SQL实现聚合查询 141
习题 142
第10章 GDI+图文绘制程序设计 143
10.1 GDI+简介 143
10.2 GDI+绘制图文的基本步骤 144
10.3 GDI+绘制图文的技术基础 144
10.3.1 .NET图形图像处理命名空间 144
10.3.2 Graphics类 145
10.3.3 颜色 145
10.3.4 坐标系统 146
10.3.5 画笔与画刷 147
10.4 绘制基本图形 148
10.4.1 绘制直线 148
10.4.2 绘制多边形 149
10.4.3 绘制曲线 150
10.4.4 绘制矩形 152
10.4.5 绘制椭圆(或圆) 153
10.4.6 绘制圆弧 153
10.4.7 绘制扇形 154
10.5 绘制文本 155
10.5.1 Font类简介 155
10.5.2 利用Font类绘制文本 156
扩展学习:鼠标画线程序设计 157
习题 160
第11章 Windows打印组件程序设计 161
11.1 PrintDocument、PrintPreviewDialog及PrintDialog组件简介及其应用 161
11.2 PrintPreviewControl组件简介及其应用 164
11.3 PageSetupDialog组件简介及其应用 166
扩展学习:图片打印 168
习题 170
第12章 文件I/O操作程序设计 171
12.1 文件与流简介 171
12.2 目录类、文件类及路径类 171
12.3 文件对话框类 172
12.3.1 OpenFileDialog类 173
12.3.2 SaveFileDialog类 173
12.4 流操作 173
12.4.1 文件流操作 173
12.4.2 网络流操作简介 179
扩展学习:判断文件是否正在被使用 180
习题 181
第13章 网络通信程序设计 182
13.1 网络协议简介 182
13.2 定义和获取主机消息 183
13.3 Socket简介 184
13.4 套接字网络通信简介 185
13.5 TCP网络通信程序设计 187
扩展学习:UDP网络通信程序设计 194
习题 198
第14章 Windows程序的安装部署 199
14.1 Windows程序的安装部署简介 199
14.2 Windows程序的安装部署方法 199
习题 206
第3部分 应用篇 208
第15章 视频应用程序设计 208
15.1 VFW基础知识 208
15.2 基于VFW的视频应用程序设计 209
习题 213
第16章 图像处理程序设计 214
16.1 GDI+图像处理简介 214
16.2 GDI+图像像素操作的3种方法 214
16.3 GDI+图像处理基础程序设计 218
16.3.1 图像灰度化 220
16.3.2 图像滤波 222
16.3.3 图像边缘检测 224
习题 228
第17章 邮件发送与接收程序设计 229
17.1 邮件发送 229
17.1.1 SMTP协议简介 229
17.1.2 利用System.Net.Mail发送邮件的程序设计 230
17.2 邮件接收 234
17.2.1 POP3协议简介 234
17.2.2 利用LumiSoft.Net接收邮件的程序设计 234
17.3 IMAP协议简介 243
习题 243
参考文献 244
附录A 实验参考 245
实验1 窗体及控件程序设计 245
实验2 线程开发程序设计 245
实验3 数据库访问程序设计 246
实验4 LINQ技术应用程序设计 246
实验5 GDI+绘图与显示程序设计 247
实验6 打印组件应用程序设计 247
实验7 文件读/写程序设计 248
实验8 网络通信程序设计 248