第1章 C#概述 1
1.1 面向对象程序设计 1
1.2 C#及.NET Framework 3
1.2.1 C#简介 3
1.2.2 .NET Framework基础知识 4
1.3 Visual Studio.NET集成开发环境 6
1.3.1 集成开发环境概览 6
1.3.2 解决方案资源管理器 8
1.3.3 设计器窗口 8
1.3.4 工具箱 8
1.3.5 属性窗口 9
1.3.6 代码编辑器 10
1.3.7 类设计器 13
1.4 C#程序的基本结构 13
1.4.1 创建第一个C#控制台程序 14
1.4.2 C#程序结构分析 16
1.5 案例简介 18
1.6 习题 19
第2章 C#程序设计基础 20
2.1 数据类型 20
2.1.1 值类型 20
2.1.2 引用类型 25
2.1.3 值类型与引用类型的区别 26
2.1.4 类型转换 27
2.2 变量与常量 29
2.2.1 变量 29
2.2.2 常量 32
2.3 运算符与表达式 32
2.4 选择语句 37
2.4.1 if语句 37
2.4.2 switch语句 38
2.5 循环语句 39
2.5.1 for语句 39
2.5.2 while语句 41
2.5.3 do…while语句 41
2.6 习题 42
第3章 C#程序设计进阶 44
3.1 数组 44
3.1.1 一维数组 44
3.1.2 多维数组 47
3.1.3 交错数组 49
3.1.4 隐式类型数组 51
3.1.5 使用foreach枚举数组元素 51
3.2 字符串 52
3.2.1 声明字符串 52
3.2.2 处理字符串 52
3.3 结构 55
3.3.1 定义结构 56
3.3.2 访问结构成员 57
3.4 DateTime结构 58
3.5 枚举 60
3.5.1 定义枚举类型 60
3.5.2 访问枚举元素 61
3.6 异常处理 63
3.7 综合案例——毕业设计管理系统的基本信息管理 64
3.8 习题 67
第4章 面向对象程序设计基础 69
4.1 抽象与封装 69
4.2 类 70
4.2.1 定义类 70
4.2.2 类的成员 71
4.3 对象 71
4.3.1 创建对象 71
4.3.2 销毁对象 73
4.3.3 使用对象 75
4.4 字段与属性 75
4.4.1 字段 75
4.4.2 属性 77
4.5 方法 79
4.5.1 方法的声明 79
4.5.2 方法的参数 81
4.5.3 this关键字 86
4.5.4 索引器 86
4.5.5 方法重载 88
4.6 静态类与静态成员 89
4.6.1 静态类 89
4.6.2 静态成员 91
4.7 C#的封装机制 93
4.7.1 使用传统的读写方法进行封装 93
4.7.2 使用属性进行封装 94
4.8 分部类 94
4.9 对象初始化器与匿名类型 96
4.9.1 对象初始化器 96
4.9.2 匿名类型 97
4.10 综合案例——毕业设计管理系统的实体类 97
4.11 习题 100
第5章 面向对象程序设计进阶 102
5.1 继承 102
5.1.1 继承概述 102
5.1.2 定义派生类 104
5.1.3 派生类的构造函数 105
5.1.4 访问和隐藏基类成员 108
5.1.5 禁止继承 110
5.1.6 使用扩展 111
5.2 抽象类与接口 112
5.2.1 抽象类 112
5.2.2 接口 115
5.3 多态 116
5.3.1 多态概述 116
5.3.2 虚方法与重载方法 117
5.3.3 运算符重载 119
5.3.4 实现多态 120
5.4 综合案例——细化毕业设计管理系统的实体类 122
5.5 习题 126
第6章 泛型与集合 128
6.1 泛型 128
6.1.1 泛型类 129
6.1.2 约束 131
6.1.3 泛型方法 136
6.2 集合 137
6.2.1 集合概述 137
6.2.2 列表 138
6.2.3 哈希表 142
6.3 综合案例——毕业设计管理系统的学生管理 145
6.4 习题 148
第7章 Windows程序设计基础 151
7.1 建立Windows应用程序 151
7.1.1 创建第一个Windows应用程序 151
7.1.2 Windows应用程序分析 153
7.2 Windows窗体 155
7.2.1 Windows窗体基本知识 156
7.2.2 Windows窗体的生命周期 161
7.3 Windows窗体控件 162
7.3.1 控件概述 162
7.3.2 标签控件 164
7.3.3 文本框控件 164
7.3.4 按钮控件 168
7.3.5 单选按钮控件 170
7.3.6 复选框控件 173
7.3.7 列表框控件 174
7.3.8 组合框控件 180
7.4 综合案例——毕业设计管理系统的日常管理 181
7.5 习题 183
第8章 Windows程序设计进阶 185
8.1 消息框与对话框 185
8.1.1 消息框 185
8.1.2 通用对话框 187
8.1.3 自定义对话框 191
8.2 基于窗体的应用程序 193
8.2.1 单窗体应用程序 194
8.2.2 多窗体应用程序 194
8.3 单文档应用程序 198
8.3.1 菜单栏 199
8.3.2 工具栏 202
8.3.3 状态栏 206
8.4 多文档应用程序 207
8.4.1 MDI主窗体 207
8.4.2 MDI子窗体 208
8.4.3 合并MDI主窗体和MDI子窗体的菜单 210
8.5 综合案例——毕业设计管理系统的主界面 211
8.6 习题 213
第9章 Windows程序事件处理 215
9.1 事件基础 215
9.1.1 委托 215
9.1.2 事件 219
9.1.3 匿名方法 221
9.2 Windows窗体和控件的事件处理 223
9.3 鼠标事件 226
9.4 键盘事件 228
9.5 综合案例——毕业设计管理系统中的自定义事件 230
9.6 习题 233
第10章 图形绘制与窗体重绘 235
10.1 绘图基础 235
10.2 绘图元素 236
10.2.1 颜色 236
10.2.2 几何元素 237
10.3 使用画笔绘制简单图形 237
10.3.1 画笔 237
10.3.2 直线 238
10.3.3 矩形 238
10.3.4 多边形 238
10.3.5 圆与圆弧 239
10.3.6 曲线 241
10.4 使用画刷填充图形 243
10.4.1 画刷 243
10.4.2 填充矩形 246
10.4.3 填充多边形 247
10.4.4 填充椭圆 248
10.4.5 填充扇形 248
10.5 显示文本 249
10.5.1 字体 249
10.5.2 文本 250
10.6 窗体重绘 251
10.7 综合案例——美化毕业设计管理系统的登录窗体 253
10.8 习题 254
第11章 图像处理与媒体播放 256
11.1 图像处理 256
11.1.1 图像处理基础 256
11.1.2 位图处理 260
11.1.3 图元操作 266
11.2 动画 268
11.2.1 使用定时器实现逐帧动画 268
11.2.2 使用ImageAnimator播放GIF动画 270
11.2.3 使用Shockwave播放Flash动画 272
11.3 媒体播放 274
11.3.1 使用SoundPlayer播放wav音频 274
11.3.2 使用Animation播放AVI视频 276
11.3.3 使用Windows Media Player播放音频与视频 277
11.4 综合案例——为毕业设计管理系统添加动画精灵 280
11.5 习题 281
第12章 数据库应用程序设计 283
12.1 ADO.NET数据访问模型 283
12.2 连接式数据访问 285
12.2.1 建立连接 285
12.2.2 操作数据 288
12.2.3 获取操作结果 290
12.2.4 调用存储过程 292
12.2.5 使用参数 294
12.3 断开式数据访问 295
12.3.1 断开式数据集 295
12.3.2 填充数据集 296
12.3.3 访问数据集 296
12.3.4 更新数据集 300
12.3.5 将数据集中的数据更新回数据源 303
12.4 数据绑定及数据绑定控件 303
12.4.1 数据绑定 303
12.4.2 BindingSource组件 303
12.4.3 BindingNavigator控件 305
12.4.4 简单绑定控件 305
12.4.5 DataGridView控件 307
12.5 综合案例——毕业设计管理系统的数据访问层设计 309
12.6 习题 312
第13章 LINQ 314
13.1 LINQ概述 314
13.2 LINQ基本用法 315
13.2.1 查询表达式 315
13.2.2 指定数据源 315
13.2.3 投影 317
13.2.4 筛选 318
13.2.5 排序 319
13.2.6 联接 320
13.3 LINQ to SQL 322
13.3.1 LINQ to SQL概述 322
13.3.2 LINQ to SQL对象模型 323
13.3.3 使用LINQ to SQL访问数据库 328
13.4 综合实例——毕业设计管理系统的开题管理 332
13.5 习题 333
第14章 WPF程序设计 335
14.1 建立WPF应用程序 335
14.1.1 WPF概述 335
14.1.2 创建第一个WPF应用程序 336
14.1.3 WPF应用程序分析 338
14.2 XAML语言 340
14.2.1 一个XAML示例 341
14.2.2 对象元素 341
14.2.3 命名空间 341
14.2.4 属性 342
14.3 WPF控件 343
14.3.1 布局控件 344
14.3.2 常规控件 346
14.4 WPF图形绘制和图像处理 351
14.4.1 画笔 351
14.4.2 使用Shape绘制图形 353
14.4.3 WPF图像处理 355
14.5 WPF动画 358
14.5.1 演示图板 358
14.5.2 From/To/By动画 359
14.5.3 关键帧动画 360
14.6 WPF媒体播放 362
14.6.1 使用MediaElement播放媒体 362
14.6.2 使用MediaPlayer播放媒体 364
14.7 综合案例——毕业设计管理系统的答辩管理 365
14.8 习题 367
第15章 毕业设计管理系统 369
15.1 系统概述 369
15.2 系统设计 369
15.3 数据库设计 370
15.3.1 数据库及数据表的设计 370
15.3.2 表间关系 372
15.4 系统整体结构 373
15.5 系统登录 374
15.5.1 数据访问层 374
15.5.2 业务逻辑层 375
15.5.3 表示层 375
15.6 基本信息管理 376
15.6.1 数据访问层 376
15.6.2 业务逻辑层 378
15.6.3 表示层 379
15.7 开题管理 380
15.7.1 数据访问层 380
15.7.2 业务逻辑层 381
15.7.3 表示层 382
15.8 日常工作管理 383
15.8.1 数据访问层 383
15.8.2 业务逻辑层 384
15.8.3 表示层 384
15.9 答辩管理 385
15.9.1 数据访问层 385
15.9.2 业务逻辑层 386
15.9.3 表示层 386
习题答案 388