第一部分 快速热身 1
学习情境一 入门的必要知识 1
1.1 任务一:第一个控制台程序 1
1.1.1 功能描述 1
1.1.2 任务步骤 2
1.1.3 知识点1——注释及空白符的使用 4
1.1.4 知识点2——Write和WriteLine方法、字符串连接 4
1.1.5 知识点3——运行与调试:逐语句调试 6
1.2 任务二:第一个Windows程序 6
1.2.1 Visual Studio C# IDE简介 6
1.2.2 功能描述 8
1.2.3 任务步骤 9
1.2.4 代码展示 13
1.3 任务三:在程序中使用数据 16
1.3.1 功能描述 16
1.3.2 代码展示 16
1.3.3 知识点1——变量、常量和赋值 17
1.3.4 知识点2——交互式程序 18
1.3.5 知识点3——数据类型及转换 18
1.4 任务四:让程序为我们计算 20
1.4.1 功能描述 20
1.4.2 代码展示 20
1.4.3 知识点1——表达式和优先级 21
1.4.4 知识点2——调试:断点和查看变量内容 23
1.5 举一反三 24
学习情境二 面向对象编程 25
2.1 任务一:学会使用已有资源 25
2.1.1 功能描述 25
2.1.2 代码展示 25
2.1.3 知识点1——.NET框架类之Math类 28
2.1.4 知识点2——.NET框架类之Random类 29
2.1.5 知识点3——.NET框架类之String类 29
2.2 任务二:学生类的初步设计 32
2.2.1 功能描述 32
2.2.2 代码展示 33
2.2.3 知识点1——方法的解析 36
2.2.4 知识点2——域和属性 39
2.2.5 知识点3——调试:查看对象变量的内容 41
2.3 任务三:学生类的进阶设计 42
2.3.1 功能描述 42
2.3.2 代码展示 42
2.3.3 知识点1——构造函数和析构函数 43
2.3.4 知识点2——封装(Encapsulation) 44
2.3.5 知识点3——继承 44
2.3.6 知识点4——调试:Step Into、Step Out、Step Over 46
2.4 举一反三 46
学习情境三 控制流程 47
3.1 任务一:选择控制流程 47
3.1.1 功能描述 47
3.1.2 代码展示 47
3.1.3 知识点1——if语句 49
3.1.4 知识点2——嵌套的if语句 50
3.1.5 知识点3——switch语句 50
3.2 任务二:while循环语句的应用 52
3.2.1 功能描述 52
3.2.2 代码展示 52
3.2.3 知识点1——while语句 54
3.2.4 知识点2——do-while语句 54
3.2.5 知识点3——跳转语句:break、continue、goto 55
3.3 任务三:for循环的基本应用及嵌套 56
3.3.1 功能描述 56
3.3.2 代码展示 57
3.3.3 知识点1——for语句 58
3.3.4 知识点2——嵌套的循环 58
3.4 任务四:for循环在数组上的应用 59
3.4.1 功能描述 59
3.4.2 代码展示 59
3.4.3 知识点1——C#的数组 60
3.4.4 知识点2——foreach语句 61
3.4.5 知识点3——调试:监视窗口 62
3.5 举一反三 62
第二部分 项目实战 63
项目一 我的SDI记事本 63
Ⅰ.1 任务一:“我的SDI记事本”主窗体设计 63
Ⅰ.1.1 功能描述 63
Ⅰ.1.2 设计步骤及要点解析 64
Ⅰ.1.3 知识库 65
Ⅰ.2 任务二:“我的SDI记事本”功能实现 67
Ⅰ.2.1 功能描述 67
Ⅰ.2.2 设计步骤及要点解析 67
Ⅰ.2.3 知识库 74
Ⅰ.3 任务三:“我的SDI记事本”的修饰一——关于窗体 76
Ⅰ.3.1 功能描述 76
Ⅰ.3.2 设计步骤及要点解析 77
Ⅰ.3.3 功能实现 78
Ⅰ.3.4 知识库 78
Ⅰ.4 任务四:“我的SDI记事本”的修饰二——欢迎窗体 79
Ⅰ.4.1 功能描述 79
Ⅰ.4.2 设计步骤 79
Ⅰ.4.3 功能实现及要点解析 80
Ⅰ.4.4 知识库 81
Ⅰ.5 项目案例 81
项目二 我的MDI记事本 82
Ⅱ.1 任务一:“我的MDI记事本”主窗体及子窗体设计 82
Ⅱ.1.1 功能描述 82
Ⅱ.1.2 设计步骤及要点解析 83
Ⅱ.1.3 知识库 85
Ⅱ.2 任务二:“我的MDI记事本”功能实现 87
Ⅱ.2.1 功能描述 87
Ⅱ.2.2 功能代码展示及要点解析 87
Ⅱ.2.3 知识库 100
Ⅱ.3 任务三:“我的MDI记事本”的修饰——皮肤 101
Ⅱ.3.1 功能描述 101
Ⅱ.3.2 设计步骤及要点解析 101
Ⅱ.3.3 知识库 102
项目三 学生管理系统 103
Ⅲ.1 任务一:“学生管理系统”各窗体设计 103
Ⅲ.1.1 功能描述 103
Ⅲ.1.2 设计步骤 103
Ⅲ.2 任务二:“登录窗体”数据库连接操作的功能实现 106
Ⅲ.2.1 功能描述 106
Ⅲ.2.2 功能步骤及代码解析 106
Ⅲ.2.3 知识库 107
Ⅲ.3 任务三:“学生管理系统”增删改查操作的实现 108
Ⅲ.3.1 功能描述 108
Ⅲ.3.2 设计步骤及代码解析 108
Ⅲ.3.3 知识库 116
项目四 考试管理系统 117
Ⅳ.1 任务一:“考试管理系统”各窗体设计 117
Ⅳ.1.1 功能描述 117
Ⅳ.1.2 各窗体设计步骤及技术要点分析 117
Ⅳ.2 任务二:“登录界面”窗体数据库连接操作的功能实现 123
Ⅳ.2.1 功能描述 123
Ⅳ.2.2 功能代码展示及功能实现技术要点分析 123
Ⅳ.2.3 知识库 127
Ⅳ.3 任务三:在AdminForm窗体中显示子窗体 127
Ⅳ.3.1 功能描述 127
Ⅳ.3.2 代码解析 127
Ⅳ.4 任务四:增加新的学员 129
Ⅳ.4.1 功能描述 129
Ⅳ.4.2 设计步骤及代码解析 129
Ⅳ.4.3 知识库:SqlDataReader 136
Ⅳ.5 任务五:学员信息列表及修改学员信息 136
Ⅳ.5.1 功能描述 136
Ⅳ5.2 设计步骤及代码分析 137
Ⅳ.6 任务六:查询学员信息 139
Ⅳ.6.1 功能描述 139
Ⅳ.6.2 设计步骤及代码解析 139
项目五 三层架构重构考试管理系统 145
Ⅴ.1 任务一:实体层MySchoolModels的设计 145
Ⅴ.1.1 功能描述 145
Ⅴ.1.2 设计步骤及代码解析 146
Ⅴ.1.3 知识库 150
Ⅴ.2 任务二:配置文件的设置 150
Ⅴ.2.1 功能描述 150
Ⅴ.2.2 设计步骤 150
Ⅴ.3 任务三:数据访问层接口的设计 151
Ⅴ.3.1 功能描述 151
Ⅴ.3.2 设计步骤 151
Ⅴ.3.3 知识库 152
Ⅴ.4 任务四:数据访问层的设计 152
Ⅴ.4.1 功能描述 152
Ⅴ.4.2 设计步骤及代码解析 152
Ⅴ.4.3 知识库 168
Ⅴ.5 任务五:联机工厂的设计 169
Ⅴ.5.1 功能描述 169
Ⅴ.5.2 设计步骤及代码解析 169
Ⅴ.5.3 知识库 170
Ⅴ.6 任务六:业务逻辑层的设计 171
Ⅴ.6.1 功能描述 171
Ⅴ.6.2 设计步骤及代码解析 171
Ⅴ.6.3 知识库 180
参考文献 181