第一篇 基础篇 3
第1章 案例和开发平台 3
1.1 实现目标的思路 3
1.2 学生成绩管理系统需求分析 3
1.2.1 项目概述 4
1.2.2 功能需求 4
1.2.3 性能要求 5
1.2.4 运行环境 6
1.3 软件开发过程和面向对象软件开发方法 6
1.3.1 软件开发过程 6
1.3.2 面向对象软件开发方法 7
1.4 Microsoft.NET 8
1.4.1 Microsoft.NET组成 8
1.4.2 Microsoft.NET层次 9
1.5 Visual Studio.NET 11
1.6 Visual Basic.NET 11
1.6.1 Visual Basic的发展过程 12
1.6.2 Visual Basic.NET的特点 13
1.6.3 选择Visual Basic.NET的理由 14
1.7 本课程学习和实践要求 15
1.8 补充内容 15
1.8.1 数据流图 15
1.8.2 层次图 16
1.9 习题 16
第2章 Visual Studio 2005集成开发环境 17
2.1 实现目标的思路 17
2.2 打开和运行程序 17
2.2.1 起始页 18
2.2.2 打开Hello World程序 19
2.2.3 Visual Studio 2005主窗口 20
2.2.4 运行Hello World程序 20
2.3 了解Visual Studio 2005主要工具 21
2.3.1 Windows窗体设计器 21
2.3.3 属性窗口 22
2.3.2 工具箱 22
2.3.4 解决方案资源管理器 23
2.3.5 窗口的调整 23
2.4 编写第一个程序:Hello World 25
2.4.1 使用向导创建程序框架 25
2.4.2 排列和对齐窗体控件 26
2.4.3 设置窗体和控件属性 27
2.4.4 编写代码 28
2.4.5 创建可执行文件 29
2.5 获取帮助 30
2.6 退出Visual Studio 2005 31
2.7 补充内容 31
2.7.1 类关系图 31
2.7.2 类视图 33
2.7.3 对象浏览器 34
2.7.4 常用图标含义 38
2.8 习题 39
3.1 实现目标的思路 40
第3章 建立学生成绩管理系统主控界面 40
3.2 创建主控窗体 41
3.3 添加人机交互控件 41
3.3.1 对象的命名和使用 41
3.3.2 使用MenuStrip控件创建菜单 42
3.3.3 使用ToolStrip控件创建工具条 43
3.3.4 使用StatusStrip控件创建状态栏 44
3.4 为菜单项添加代码 45
3.4.1 访问限制符 45
3.4.2 过程的分类 46
3.4.3 自定义子过程 47
3.4.4 自定义函数过程 50
3.4.5 为菜单指定快捷键 50
3.5 为工具按钮添加代码 50
3.6 完善控制效果 51
3.7 运行系统 52
3.8 对象及其关系 52
3.9 习题 53
第4章 管理学生成绩管理系统各功能窗体 55
4.1 实现目标的思路 55
4.2 制作和调用“浏览”窗体 56
4.2.1 “浏览”窗体的作用 56
4.2.2 制作“浏览”窗体 56
4.2.3 调用“浏览”窗体 57
4.3 制作和调用“增改学生”窗体 58
4.3.1 “增改学生”窗体的作用 58
4.3.2 创建“增改学生”窗体 59
4.3.3 添加控件 59
4.3.4 在Windows桌面上安排窗体位置 61
4.3.5 调用“增改学生”窗体 62
4.4 窗体的继承 63
4.4.1 继承的作用 63
4.4.2 创建“基本”窗体 63
4.4.3 通过继承改造“增改学生”窗体 66
4.5 对象和继承关系 67
4.6 控制调用各功能窗体 68
4.7 补充内容 68
4.7.1 变量和数据类型 68
4.7.2 分支结构 73
4.8 习题 74
第5章 浏览学生成绩档案 76
5.1 实现目标的思路 76
5.2 制作浏览界面 77
5.2.1 用DataGridView控件显示数据 77
5.2.2 通过向导实现数据浏览 78
5.3 ADO.NET对象体系 82
5.4 分区域显示基本数据及相关成绩信息 84
5.4.1 使用标准模块和全局变量 84
5.4.2 声明数据适配器和数据集对象 84
5.4.3 创建数据适配器和数据集对象 85
5.4.4 动态显示学生成绩档案 85
5.5.1 SQL语法:Select语句 88
5.5 补充内容 88
5.5.2 Nothing关键字 89
5.6 习题 90
第6章 更新学生成绩档案(一) 91
6.1 实现目标的思路 91
6.2 封装、继承与多态 92
6.3 提示操作信息 95
6.3.1 标题自动居中 96
6.3.2 明确操作及其被操作对象 96
6.3.3 填写被维护的数据记录 97
6.3.4 使用新接口调用窗体 102
6.4 保存操作结果 105
6.4.1 定义Command对象 106
6.4.2 保存操作结果 106
6.5 反馈操作结果 107
6.6.1 SQL语法:Insert、Update、Delete语句 109
6.6.2 运算符和表达式 109
6.6 补充内容 109
6.7 习题 112
第7章 更新学生成绩档案(二) 114
7.1 实现目标的思路 114
7.2 改造ShowDialog方法 114
7.2.1 提示必要信息 116
7.2.2 控制文本输入长度 117
7.3 改造Modify方法 119
7.3.1 更新物理数据库 119
7.3.2 更新浏览对象 120
7.4 隐藏浏览对象中的ID栏目 121
7.5 补充内容 122
7.5.1 循环控制结构 122
7.5.2 字符串基本操作 125
7.5.3 数组和集合 127
7.5.4 数据类型的转换 129
7.5.5 泛型 131
7.6 习题 135
第8章 制作和使用自定义控件 139
8.1 实现目标的思路 139
第二篇 提高篇 139
8.2 动态填写列表项目 140
8.3 自定义用户控件类 141
8.4 用户控件类的使用 144
8.4.1 向工具箱添加用户控件 144
8.4.2 添加对用户控件的引用 145
8.5 提高XComboBox的输入输出能力 146
8.6.1 程序集和命名空间 147
8.6 补充知识 147
8.6.2 属性过程 150
8.7 习题 151
第9章 错误处理 153
9.1 实现目标的思路 153
9.2 错误类型及其解决方法 154
9.2.1 3种错误类型 154
9.2.2 解决错误方法 154
9.3.1 设置断点调试程序 155
9.3 使用中断模式调试程序 155
9.3.2 使用监视窗口查看变量 156
9.3.3 使用命令窗口 157
9.4 运行错误处理 158
9.4.1 容错处理 159
9.4.2 防错处理 160
9.5 控制用户输入是有效的防错手段 160
9.6 控制唯一性数据的输入 161
9.7 容错与防错的选择 161
9.8 习题 161
第10章 制作固定报表 163
10.1 实现目标的思路 163
10.2 报表系统对象关系 164
10.3 设计报表 165
10.3.1 准备数据源 165
10.3.2 使用水晶报表设计器设计报表 166
10.4.2 水晶报表控件与报表文件的绑定 170
10.4.1 使用CrystalReportViewer控件 170
10.4 显示报表 170
10.5 配置和调用报表 171
10.6 报表文件自动计算及格率 173
10.7 习题 175
第11章 制作通用报表 176
11.1 实现目标的思路 176
11.2.1 自动化技术 177
11.2.2 对象浏览器 177
11.2 了解Microsoft Excel对象类 177
11.3 将学生成绩档案输出到Excel中 179
11.3.1 制作Excel报表的程序流程 179
11.3.2 代码分析 180
11.4 习题 181
第12章 提高系统响应能力 182
12.1 实现目标的思路 182
12.2 进程和线程 182
12.2.1 基本概念 182
12.3.1 创建和启动线程 183
12.2.2 多线程的优点 183
12.3 创建和控制线程 183
12.3.2 控制线程 184
12.4 提高制作固定报表的响应能力 185
12.4.1 分析需要并行的程序代码段 185
12.4.2 指定线程执行的过程并创建线程 187
12.4.3 启动线程 187
12.4.4 终止线程 188
12.5 习题 188
第13章 建立和调用帮助文件 189
13.1 实现目标的思路 189
13.2 设计帮助文件 190
13.2.1 了解HTML Help Workshop 190
13.2.2 建立帮助文件 190
13.3 Internet Explorer类和Process类 194
13.3.1 了解Internet Explorer类 194
13.3.2 了解Process类 196
13.4 调用帮助文件 197
13.3.3 Internet Explorer类和Process类比较 197
13.4.1 使用Internet Explorer类 198
13.4.2 使用System.Diagnostics.Process类 198
13.5 习题 199
第14章 用户验证和操作控制 200
14.1 实现目标的思路 200
14.2 用户验证和操作控制对象体系 201
14.3.1 房屋中介模型 202
14.3 典型的事件体系 202
14.3.2 事件 204
14.3.3 委托 204
14.3.4 声明事件和引发事件 204
14.3.5 注册事件处理程序 205
14.3.6 自定义事件数据 205
14.4 实现用户验证 208
14.4.1 操作界面 208
14.4.2 事件模型和代码实现 208
14.5.2 事件模型和代码实现 212
14.5 实现操作控制 212
14.5.1 操作界面 212
14.6 补充内容 216
14.6.1 Timer组件、日期和时间 216
14.6.2 字符串格式化 218
14.6.3 构造方法和析构方法 227
14.7 习题 228
15.1 实现目标的思路 230
15.2 流文件体系 230
第15章 备份和恢复学生成绩档案 230
15.3 导出数据 233
15.3.1 使用FileSaveDialog对话框 233
15.3.2 导出数据到二进制流文件 234
15.4 导入数据 235
15.4.1 使用FileOpenDialog对话框 235
15.4.2 从二进制流文件导入数据 236
15.5 补充内容(对话框的分类) 237
15.5.2 标准对话框 238
15.5.1 简洁对话框 238
15.5.3 自定义对话框 240
15.6 习题 241
第16章 部署学生成绩管理系统 242
16.1 实现目标的思路 242
16.2 使用向导创建安装工程 242
16.3 打包制作安装文件 246
16.4 测试安装系统 247
16.5.2 添加/删除文件 248
16.5.1 创建开始菜单和桌面快捷方式 248
16.5 自定义安装项目 248
16.5.3 设置安装属性 249
16.5.4 修改应用程序图标 250
16.6 ClickOnce部署技术 251
16.6.1 什么是ClickOnce应用程序 251
16.6.2 ClickOnce部署的工作方式 252
16.6.3 ClickOnce和Windows Installer比较表 253
16.6.4 使用ClickOnce部署应用 253
16.7 习题 256
第17章 创建网上查分系统 257
17.1 实现目标的思路 258
1.7.2 应用系统的C/S和B/S运行模式 259
17.3 ASP.NET技术 259
17.3.1 ASP.NET简介 259
17.3.2 ASP.NET运行环境 260
17.3.3 ASP.NET应用程序组成 260
17.4.1 创建ASP.NET网站 261
17.4 设计用户界面 261
17.4.2 创建ASP.NET网页 262
17.4.3 添加事件处理程序 264
17.5 根据学号查询成绩 264
17.5.1 使用AccessDataSource控件查询成绩 264
17.5.2 使用程序方式查询成绩 268
17.6 习题 269
附录A 学生成绩管理系统建设方案 271
参考文献 288