《C#开发实战》从初学者的角度讲述了使用Visual Studio 2010开发环境结合C#语言进行程式开发应该掌握的各项技术,突出“基础”、“全面”、“深入”,同时强调“实战”效果。
基本介绍
- 作者:软体开发技术联盟 编着
- ISBN:9787302318903
- 定价:89.80元
- 出版社:清华大学出版社
- 出版时间:2013-9-1
- 装帧:平装
内容介绍
全书在介绍技术的同时,都会提供示例或稍大一些的实例,同时在结尾安排实战,通过多个实战来综合套用本章所讲解的知识,做到理论联繫实际;前4篇的最后一章有一个综合实验,通过一个模组综合讲解本篇所讲解的内容;本书最后一篇提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。
全书共分30章,主要内容包括初探C#及其开发环境,认识C#代码结构,C#程式设计基础,选择结构控制,循环结构控制,字元及字元串,数组、集合与哈希表,面向对象程式设计,综合实验(一)——365桌面提醒器,Windows窗体设计,Windows应用程式常用控制项,Windows应用程式高级控制项,对话框、选单、工具列及状态栏控制项,综合实验(二)——QQ自动登录器模组,资料库编程基础,ADO.NET数据访问技术,DataGridView数据控制项,面向对象编程高级技术,枚举类型与泛型,LINQ技术的使用,综合实验(三)——SQL数据表提取器模组,档案及I/O,GDI+绘图及列印技术,网路编程,执行绪的使用,异常处理与程式调试,Windows应用程式打包部署,综合实验(四)——FTP档案管理模组,进销存管理系统,企业人事管理系统等。所有知识都结合具体实例进行介绍,对涉及的程式代码给出了详细的注释,读者可以轻鬆领会C#程式开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下:
黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程式、提供习题答案、赠送开发案例。
本书适合有志于软体开发的初学者、高校计算机相关专业学生和毕业生,也可作为软体开发人员的参考手册,或者高校的教学参考书。
作品目录
目 录
第1篇 新 手 入 门
第1章 初探C#及其开发环境 2
视频讲解:60分钟
1.1 了解.NET 3
1.1.1 .NET概述 3
1.1.2 .NET程式编译原理 3
1.1.3 .NET项目成功案例 4
1.2 C#语言及其特点 5
1.2.1 C#与.NET的关係 5
1.2.2 C#语言的特点 5
1.2.3 C#语言的发展趋势 5
1.3 安装与卸载Visual Studio 2010 5
1.3.1 安装Visual Studio 2010系统必备条件 6
1.3.2 安装Visual Studio 2010 6
1.3.3 卸载Visual Studio 2010 8
1.4 熟悉Visual Studio 2010开发环境 8
1.4.1 创建控制台应用程式 8
1.4.2 创建Windows窗体应用程式 9
1.4.3 选单栏 10
1.4.4 工具列介绍 10
1.4.5 "工具箱"面板 11
1.4.6 "属性"面板 11
1.4.7 解决方案资源管理器 11
1.4.8 "错误列表"面板 12
1.4.9 "输出"面板 12
1.5 C#编程常用帮助 12
1.5.1 安装Help Library管理器 13
1.5.2 使用Help Library管理器 13
1.5.3 常用的C#编程帮助网站 14
1.6 实战 15
1.6.1 如何开始运行程式 15
1.6.2 如何中断当前程式的运行 15
1.7 小结 16
1.8 学习成果检验 16
第2章 认识C#代码结构 17
视频讲解:40分钟
2.1 定製自己的开发环境 18
2.1.1 设定代码字型和颜色 18
2.1.2 设定显示代码行号 18
2.1.3 灵活使用自动隐藏功能 19
2.2 编写第一个C#程式 19
2.3 分析C#程式结构 20
2.3.1 命名空间介绍 20
2.3.2 类 21
2.3.3 Main方法 21
2.3.4 标识符 22
2.3.5 关键字 22
2.3.6 编写C#语句 22
2.3.7 代码注释 23
2.4 实战 24
2.4.1 使用"记事本"编写C#程式并编译 24
2.4.2 如何快速找到程式出错位置 24
2.4.3 为程式设定版本和帮助信息 25
2.4.4 为项目添加已有窗体 26
2.4.5 动起来的Label控制项 26
2.5 小结 27
2.6 学习成果检验 27
第3章 C#程式设计基础 28
视频讲解:98分钟
3.1 数据类型 29
3.1.1 值类型的使用 29
3.1.2 引用类型的使用 31
3.2 声明并使用变数 32
3.2.1 变数的声明及初始化 32
3.2.2 变数的作用域 33
3.3 声明并使用常量 33
3.4 数据类型转换 34
3.4.1 隐式类型转换 34
3.4.2 显式类型转换 35
3.4.3 装箱和拆箱 36
3.5 运算符的使用 37
3.5.1 算术运算符 38
3.5.2 赋值运算符 39
3.5.3 关係运算符 40
3.5.4 逻辑运算符 42
3.5.5 移位运算符 44
3.5.6 其他特殊运算符 45
3.5.7 运算符的优先权 46
3.6 实战 47
3.6.1 製作用户登录程式 47
3.6.2 判断一个数是否是素数 48
3.6.3 使用算术运算符开发简单计算器 49
3.6.4 使用"^"运算符对数字进行加密 50
3.6.5 巧用位移运算符获取汉字编码值 51
3.6.6 使用条件运算符判断指定年份是不是
闰年 51
3.7 小结 52
3.8 学习成果检验 52
第4章 选择结构控制 53
视频讲解:38分钟
4.1 C#程式设计算法 54
4.2 if语句的使用 56
4.2.1 使用if...else语句实现条件选择 56
4.2.2 if语句的嵌套使用 58
4.3 switch语句的使用 60
4.3.1 使用switch语句实现多分支选择 60
4.3.2 if...else语句与switch语句 61
4.4 实战 63
4.4.1 判断用户登录身份 63
4.4.2 递归算法的经典面试题 64
4.4.3 使用switch语句实现数字转换大写 65
4.4.4 使用流程控制语句报销业务花销 66
4.4.5 小明去学校和医院分别要走哪条路 66
4.5 小结 67
4.6 学习成果检验 67
第5章 循环结构控制 68
视频讲解:48分钟
5.1 while和do...while语句的使用 69
5.1.1 使用while语句实现代码循环 69
5.1.2 使用do...while语句实现至少执行一次
循环 70
5.1.3 while和do...while语句的区别 71
5.2 for和foreach语句的使用 72
5.2.1 使用for语句实现代码循环 72
5.2.2 使用foreach语句遍历数据集合 73
5.3 循环结构中的跳转语句 74
5.3.1 使用break语句跳出循环 74
5.3.2 使用continue语句继续程式的执行 76
5.3.3 使用goto语句实现程式跳转 76
5.3.4 使用return语句使程式返回 78
5.4 实战 79
5.4.1 鸡尾酒排序算法的实现 79
5.4.2 哥德巴赫猜想算法的实现 80
5.4.3 使用switch语句更改窗体颜色 82
5.4.4 使用goto语句在数组中搜寻指定图书 83
5.4.5 製作一个数字猜猜看小游戏 83
5.5 小结 85
5.6 学习成果检验 85
第6章 字元及字元串 86
视频讲解:72分钟
6.1 字元操作 87
6.1.1 Char类概述 87
6.1.2 使用Char类中的方法对字元进行操作 87
6.1.3 认识并使用转义字元 88
6.2 字元串的声明及初始化 89
6.2.1 String类概述 89
6.2.2 声明字元串 90
6.2.3 初始化字元串 90
6.3 字元串操作 90
6.3.1 比较字元串 90
6.3.2 格式化字元串 92
6.3.3 截取字元串 94
6.3.4 分割字元串 94
6.3.5 插入和填充字元串 95
6.3.6 删除字元串 97
6.3.7 複製字元串 97
6.3.8 替换字元串 99
6.4 可变字元串类StringBuilder的使用 100
6.4.1 StringBuilder类概述 100
6.4.2 创建StringBuilder对象 100
6.4.3 StringBuilder类的使用 101
6.4.4 StringBuilder类与String类的区别 102
6.5 实战 102
6.5.1 长字元串分段显示 102
6.5.2 字元串加密与解密 103
6.5.3 根据汉字获得其区位码 104
6.5.4 字母与ASCII码的转换 105
6.5.5 将汉字转换为拼音 106
6.5.6 批量替换某一类字元串 106
6.5.7 开发一个进制转换器 106
6.6 小结 109
6.7 学习成果检验 109
第7章 数组、集合与哈希表 110
视频讲解:96分钟
7.1 数组概述 111
7.2 一维数组的声明和使用 111
7.2.1 一维数组的声明 111
7.2.2 一维数组的使用 112
7.3 二维数组的声明和使用 113
7.3.1 二维数组的声明 113
7.3.2 二维数组的使用 113
7.3.3 动态数组的声明及使用 114
7.4 数组的基本操作 115
7.4.1 遍历数组中的元素 115
7.4.2 添加/删除数组元素 115
7.4.3 使用排序算法对数组进行排序 116
7.4.4 数组的合併与拆分 118
7.5 ArrayList集合的使用 120
7.5.1 ArrayList集合概述 120
7.5.2 添加ArrayList集合元素 121
7.5.3 删除ArrayList集合元素 123
7.5.4 遍历ArrayList集合 124
7.5.5 查找ArrayList集合元素 125
7.6 Hashtable(哈希表)的使用 126
7.6.1 Hashtable概述 126
7.6.2 添加Hashtable元素 126
7.6.3 删除Hashtable元素 127
7.6.4 遍历Hashtable元素 128
7.6.5 查找Hashtable元素 128
7.7 实战 129
7.7.1 使用数组解决约瑟夫环问题 129
7.7.2 希尔排序算法的实现 130
7.7.3 使用哈希表查找XML档案 131
7.7.4 操作便捷的简单电话簿 132
7.7.5 向班级集合中添加学生信息 133
7.7.6 设计一个简单客车售票记录程式 134
7.8 小结 135
7.9 学习成果检验 135
第8章 面向对象程式设计 136
视频讲解:96分钟
8.1 面向对象编程概述 137
8.2 属性的定义及使用 137
8.2.1 属性概述 138
8.2.2 属性的定义 138
8.2.3 属性的使用 139
8.3 方法的声明及使用 140
8.3.1 方法概述 140
8.3.2 方法修饰符 140
8.3.3 方法的声明 141
8.3.4 方法的分类 142
8.3.5 重载方法的实现 142
8.4 结构的定义及使用 143
8.4.1 结构概述 143
8.4.2 结构的定义 144
8.4.3 结构的使用 144
8.5 类与对象详解 145
8.5.1 类的概念 145
8.5.2 类的声明 146
8.5.3 构造函式和析构函式 146
8.5.4 对象的声明和实例化 147
8.5.5 类与对象的关係 149
8.6 面向对象特性之封装 149
8.6.1 封装概述 149
8.6.2 封装的实现 150
8.7 面向对象特性之继承 151
8.7.1 继承概述 151
8.7.2 继承的实现 151
8.7.3 单继承的使用 153
8.7.4 多重继承的使用 154
8.8 面向对象特性之多态 156
8.8.1 多态概述 156
8.8.2 多态的实现 157
8.9 实战 159
8.9.1 使用面向对象思想实现简单计算器 159
8.9.2 使用面向对象思想实现在字元串中查找
数字 160
8.9.3 通过类的多态性确定人类的说话行为 161
8.9.4 存储不同类型的数据列表 162
8.9.5 去掉数组中的重複数字 162
8.10 小结 163
8.11 学习成果检验 163
第9章 综合实验(一)--365桌面
提醒器 164
视频讲解:78分钟
9.1 365桌面提醒器概述 165
9.1.1 提醒设定流程 165
9.1.2 计画录入流程 165
9.1.3 计画查询流程 165
9.1.4 计画统计流程 166
9.1.5 定时关机流程 166
9.1.6 程式预览 167
9.2 资料库设计 168
9.3 关键技术 168
9.3.1 通过修改注册表实现自动运行程式 168
9.3.2 使用多执行绪处理弹出"提示气泡"
任务 170
9.3.3 使用扩展方法为系统类型添加新功能 171
9.3.4 套用初始化器创建集合或对象 171
9.3.5 使用ADO.NET对象提交数据 172
9.4 公共类设计 172
9.4.1 封装数据值和显示值的类 172
9.4.2 绑定和显示数据的类 173
9.5 提醒设定 174
9.5.1 提醒设定功能概述 174
9.5.2 "提醒设定"界面设计 174
9.5.3 打开"提醒设定"界面 174
9.5.4 保存提示设定 175
9.6 计画录入 176
9.6.1 计画录入功能概述 176
9.6.2 "计画录入"界面设计 176
9.6.3 打开"计画录入"界面 177
9.6.4 添加计画任务 177
9.6.5 保存计画任务 178
9.6.6 删除计画任务 179
9.7 计画查询 180
9.7.1 计画查询功能概述 180
9.7.2 "计画查询"界面设计 180
9.7.3 打开"计画查询"界面 180
9.7.4 查询计画信息 181
9.7.5 处理计画 182
9.8 计画统计 183
9.8.1 计画统计功能概述 183
9.8.2 "计画统计"界面设计 183
9.8.3 统计计画信息 184
9.9 小结 184
9.10 学习成果检验 184
第2篇 进 阶 提 高
第10章 Windows窗体设计 186
视频讲解:60分钟
10.1 Form窗体基础 187
10.1.1 Form窗体概述 187
10.1.2 添加和删除Form窗体 187
10.1.3 添加多窗体 188
10.1.4 设定窗体的属性 189
10.1.5 窗体的显示与隐藏 191
10.1.6 触发窗体事件 191
10.2 MDI窗体设计 192
10.2.1 MDI窗体概述 192
10.2.2 设定MDI窗体 193
10.2.3 排列MDI子窗体 193
10.3 继承窗体设计 195
10.3.1 继承窗体概述 195
10.3.2 创建继承窗体 195
10.3.3 在继承窗体中修改继承的控制项属性 197
10.4 实战 198
10.4.1 设计一个系统登录窗体 198
10.4.2 製作启动欢迎界面 198
10.4.3 从上次关闭位置启动窗体 199
10.4.4 自定义"最大化"、"最小化"和
"关闭"按钮 200
10.4.5 製作滑鼠穿透窗体 202
10.4.6 窗体换肤程式 202
10.5 小结 204
10.6 学习成果检验 204
第11章 Windows应用程式常用控制项 205
视频讲解:120分钟
11.1 控制项概述 206
11.1.1 控制项的分类及作用 206
11.1.2 控制项命名规範 207
11.2 控制项的相关操作 207
11.2.1 添加控制项 207
11.2.2 对齐控制项 208
11.2.3 锁定控制项 208
11.2.4 删除控制项 208
11.3 文本类控制项 208
11.3.1 标籤控制项 209
11.3.2 按钮控制项 209
11.3.3 文本框控制项 210
11.3.4 有格式文本控制项 212
11.4 选择类控制项 214
11.4.1 下拉组合框控制项 215
11.4.2 複选框控制项 216
11.4.3 单选按钮控制项 217
11.4.4 数值选择控制项 218
11.4.5 列表控制项 219
11.5 分组控制项 221
11.5.1 容器控制项 222
11.5.2 分组框控制项 222
11.5.3 选项卡控制项 223
11.6 实战 225
11.6.1 判断注册用户操作许可权 225
11.6.2 使用ListBox实现点菜功能 228
11.6.3 只允许输入数字的TextBox控制项 230
11.6.4 实现类似Word的项目编号功能 230
11.6.5 在RichTextBox控制项中实现关键字描红 231
11.6.6 对ListBox控制项中的数据进行排序 231
11.7 小结 232
11.8 学习成果检验 232
第12章 Windows应用程式高级控制项 233
视频讲解:125分钟
12.1 存储图像控制项(ImageList控制项) 234
12.1.1 在ImageList控制项中添加图像 234
12.1.2 在ImageList控制项中移除图像 234
12.2 列表视图控制项(ListView控制项) 235
12.2.1 在ListView控制项中添加/移除项 236
12.2.2 选择ListView控制项中的项 237
12.2.3 为ListView控制项中的项添加图示 238
12.2.4 在ListView控制项中启用平铺视图 238
12.2.5 为ListView控制项中的项分组 239
12.3 树控制项(TreeView控制项) 241
12.3.1 添加和删除树节点 241
12.3.2 获取树控制项中选中的节点 242
12.3.3 为树控制项中的节点设定图示 243
12.4 日期控制项(DateTimePicker控制项) 244
12.4.1 使用DateTimePicker控制项显示时间 244
12.4.2 使用DateTimePicker控制项以自定义格式
显示日期 244
12.4.3 返回DateTimePicker控制项中选择的
日期 245
12.5 月曆控制项(MonthCalendar控制项) 246
12.5.1 更改MonthCalendar控制项的外观 246
12.5.2 在MonthCalendar控制项中显示多个
月份 247
12.5.3 在MonthCalendar控制项中以粗体显示
特定日期 247
12.5.4 在MonthCalendar控制项中选择日期
範围 248
12.6 其他高级控制项 249
12.6.1 使用ErrorProvider控制项验证文本框
输入 249
12.6.2 使用HelpProvider控制项调用帮助档案 250
12.6.3 使用Timer控制项设定时间间隔 251
12.6.4 使用ProgressBar控制项显示程式运行进
度条 252
12.7 实战 252
12.7.1 设计一个电子万年曆 252
12.7.2 製作一个闹钟计时器 254
12.7.3 在模式视窗中显示进度条 257
12.7.4 使用TreeView控制项遍历磁碟目录 259
12.7.5 用树型列表动态显示选单 260
12.8 小结 261
12.9 学习成果检验 261
第13章 对话框、选单、工具列及状态栏
控制项 262
视频讲解:48分钟
13.1 对话框控制项 263
13.1.1 对话框概述 263
13.1.2 打开对话框控制项 263
13.1.3 另外储存为对话框控制项 263
13.1.4 浏览资料夹对话框控制项 264
13.1.5 颜色对话框控制项 265
13.1.6 字型对话框控制项 265
13.2 选单、工具列和状态栏控制项 266
13.2.1 选单控制项(MenuStrip控制项) 266
13.2.2 工具列控制项(ToolStrip控制项) 266
13.2.3 状态栏控制项(StatusStrip控制项) 267
13.3 实战 268
13.3.1 製作带历史信息的选单 268
13.3.2 製作仿XP系统的系统列选单 269
13.3.3 具有提示功能的工具列 271
13.3.4 级联选单的动态合併 271
13.3.5 在状态栏中显示当前系统操作员 272
13.4 小结 272
13.5 学习成果检验 272
第14章 综合实验(二)--QQ自动
登录器模组 273
视频讲解:62分钟
14.1 QQ自动登录器概述 274
14.1.1 QQ自动登录器流程 274
14.1.2 主窗体流程 274
14.1.3 添加QQ账号流程 274
14.1.4 路径设定流程 275
14.1.5 程式预览 275
14.2 资料库设计 275
14.3 关键技术 276
14.3.1 QQ自动登录器的实现原理 276
14.3.2 使用MD5加密算法加密QQ密码 276
14.3.3 使用XML档案存储QQ账号信息 277
14.3.4 使用XmlElement类序列化QQ账号
属性 278
14.3.5 通过XML档案读取和写入QQ账号
信息 279
14.3.6 使用注册表存储信息 281
14.4 主窗体 281
14.4.1 主窗体功能概述 281
14.4.2 主窗体界面设计 281
14.4.3 初始化QQ列表 282
14.4.4 启动多个QQ账号 283
14.4.5 启动QQ程式 284
14.4.6 增加QQ账号信息 285
14.4.7 修改QQ账号信息 285
14.4.8 删除QQ账号 286
14.4.9 设定QQ账号为隐身 286
14.5 添加QQ账号 287
14.5.1 添加QQ账号功能概述 287
14.5.2 添加QQ账号界面设计 287
14.5.3 添加QQ账号 287
14.6 路径设定 289
14.6.1 路径设定功能概述 289
14.6.2 路径设定界面设计 289
14.6.3 显示原有路径设定 289
14.6.4 选择QQ程式路径 290
14.6.5 保存路径设定 290
14.7 小结 291
14.8 学习成果检验 291
第3篇 中 级 开 发
第15章 资料库编程基础 294
视频讲解:56分钟
15.1 资料库基础 295
15.1.1 资料库简介 295
15.1.2 安装SQL Server 2000资料库 295
15.1.3 安装SQL Server 2005资料库 297
15.1.4 安装SQL Server 2008资料库 299
15.1.5 资料库的创建及删除 304
15.1.6 数据表的创建及删除 304
15.2 SQL语言基础 306
15.2.1 SQL语言简介 306
15.2.2 简单SQL语句的套用 306
15.3 实战 311
15.3.1 使用INSERT SELECT语句批量
插入数据 311
15.3.2 从一个表中向另一个表中複製行 311
15.3.3 统计某个值出现的次数 312
15.3.4 对多列的求和运算 313
15.3.5 通过CASE语句生成静态交叉表 314
15.4 小结 314
15.5 学习成果检验 314
第16章 ADO.NET数据访问技术 315
视频讲解:90分钟
16.1 ADO.NET概述 316
16.2 使用Connection对象连线资料库 316
16.2.1 Connection对象概述 316
16.2.2 连线资料库 316
16.2.3 关闭连线 317
16.3 使用Command对象执行SQL
语句 319
16.3.1 Command对象概述 319
16.3.2 设定数据源类型 319
16.3.3 执行SQL语句 320
16.4 使用DataReader对象读取数据 322
16.4.1 DataReader对象概述 322
16.4.2 判断查询结果中是否有值 323
16.4.3 读取数据 324
16.5 数据适配器:DataAdapter对象 324
16.5.1 DataAdapter对象概述 324
16.5.2 填充DataSet数据集 325
16.5.3 更新数据源 325
16.6 数据集:DataSet对象 327
16.6.1 DataSet对象概述 327
16.6.2 合併DataSet内容 327
16.6.3 複製DataSet内容 328
16.7 实战 329
16.7.1 使用二进制存储用户头像 329
16.7.2 使用存储过程实现员工自动编号 332
16.7.3 使用交叉表统计商品销售信息 333
16.7.4 向SQL Server资料库中批量写入海量
数据 336
16.7.5 使用断开式连线批量更新资料库中的
数据 337
16.7.6 综合查询职工详细信息 337
16.8 小结 340
16.9 学习成果检验 340
第17章 DataGridView数据控制项 341
视频讲解:52分钟
17.1 DataGridView控制项概述 342
17.2 在DataGridView控制项中显示数据 342
17.3 获取DataGridView控制项中的当前
单元格 343
17.4 在DataGridView控制项中修改数据 344
17.5 选中DataGridView控制项中的行时
显示不同颜色 345
17.6 禁止在DataGridView控制项中添加和
删除行 347
17.7 禁用DataGridView控制项的自动排序
功能 347
17.8 合併DataGridView控制项中的单
元格 348
17.9 实战 350
17.9.1 将DataGridView中的数据导出到
Word 350
17.9.2 将DataGridView中的数据导出到
Excel 351
17.9.3 在DataGridView控制项中验证数据
输入 352
17.9.4 在DataGridView控制项中添加"合计"和
"平均值" 353
17.9.5 通过DataGridView分页查看用户信息 354
17.10 小结 356
17.11 学习成果检验 356
第18章 面向对象编程高级技术 357
视频讲解:48分钟
18.1 接口的声明及实现 358
18.1.1 接口概述 358
18.1.2 接口的声明 358
18.1.3 接口的实现与继承 359
18.1.4 显式接口成员实现 360
18.2 抽象类的声明及使用 362
18.2.1 抽象类概述 362
18.2.2 抽象类的声明 362
18.2.3 抽象方法的声明 362
18.2.4 抽象类的使用 363
18.2.5 抽象类与接口 364
18.3 密封类的声明及使用 364
18.3.1 密封类概述 364
18.3.2 密封类的声明 365
18.3.3 密封方法的声明 365
18.3.4 密封类的使用 366
18.4 实战 367
18.4.1 使用多重继承实现教师和学生信息的
输出 367
18.4.2 对用户信息进行密封 369
18.4.3 自定义抽象类计算圆形的面积 371
18.4.4 利用接口实现选择不同的语言 371
18.4.5 使用接口作为方法参数进行编程 372
18.4.6 通过重写虚方法实现加法运算 373
18.5 小结 373
18.6 学习成果检验 373
第19章 枚举类型与泛型 374
视频讲解:30分钟
19.1 枚举类型 375
19.1.1 枚举类型概述 375
19.1.2 枚举类型的声明 375
19.1.3 枚举类型基类--Enum类 376
19.1.4 枚举类型的使用 377
19.2 泛型及其使用 378
19.2.1 泛型概述 378
19.2.2 类型参数T 378
19.2.3 泛型接口的声明及使用 379
19.2.4 泛型方法的声明及使用 379
19.3 实战 380
19.3.1 使用枚举判断用户操作许可权 380
19.3.2 使用泛型去掉数组中的重複数字 381
19.3.3 使用叠代器显示公车站点 383
19.3.4 使用分部类实现多种计算方法 383
19.3.5 通过继承泛型类实现输出学生信息 384
19.4 小结 385
19.5 学习成果检验 385
第20章 LINQ技术的使用 386
视频讲解:76分钟
20.1 LINQ基础 387
20.1.1 LINQ概述 387
20.1.2 使用var创建隐型局部变数 387
20.1.3 Lambda表达式的使用 388
20.1.4 LINQ查询表达式 389
20.2 LINQ操作SQL Server资料库 390
20.2.1 使用LINQ查询SQL Server资料库 390
20.2.2 使用LINQ管理SQL Server资料库 393
20.3 LINQ操作其他数据 398
20.3.1 使用LINQ运算元组和集合 398
20.3.2 使用LINQ操作DataSet数据集 399
20.3.3 使用LINQ操作XML 400
20.4 实战 403
20.4.1 使用LINQ技术获取档案详细信息 403
20.4.2 使用LINQ技术分类查询公司员工
薪水 405
20.4.3 使用存储过程查询单表数据 406
20.4.4 使用LINQ技术防止SQL注入式攻击 407
20.4.5 使用LINQ技术实现数据分页 407
20.4.6 从头开始提取满足指定条件的记录 409
20.4.7 读取XML档案并更新到资料库 409
20.5 小结 411
20.6 学习成果检验 411
第21章 综合实验(三)--SQL数据表
提取器模组 412
视频讲解:54分钟
21.1 SQL数据表提取器概述 413
21.1.1 附加本地资料库流程 413
21.1.2 提取表结构流程 413
21.1.3 导出数据流程 413
21.1.4 程式预览 414
21.2 关键技术 415
21.2.1 添加COM组件 415
21.2.2 附加SQL Server资料库 415
21.2.3 分离SQL Server资料库 416
21.2.4 设定SQL Server资料库模式 416
21.3 主窗体 418
21.3.1 主窗体功能概述 418
21.3.2 主窗体界面设计 418
21.3.3 检索网路中的伺服器 419
21.3.4 获取资料库的名称 419
21.3.5 选择提取信息 421
21.4 附加本地资料库 422
21.4.1 附加本地资料库功能概述 422
21.4.2 附加本地资料库界面设计 422
21.4.3 浏览附加档案路径 423
21.4.4 实现资料库附加 423
21.5 提取表结构 424
21.5.1 提取表结构功能概述 424
21.5.2 "提取表结构"界面设计 424
21.5.3 获取表结构信息 425
21.5.4 导出到Excel 425
21.5.5 导出到Word 426
21.6 导出数据 427
21.6.1 导出数据功能概述 427
21.6.2 "导出数据"界面设计 428
21.6.3 获取数据信息 428
21.6.4 数据的导出 429
21.7 小结 431
21.8 学习成果检验 431
第4篇 高 级 应 用
第22章 档案及I/O 434
视频讲解:112分钟
22.1 档案操作基础 435
22.1.1 File类和FileInfo类介绍 435
22.1.2 Directory类和DirectoryInfo类介绍 438
22.2 档案基本操作 440
22.2.1 判断档案是否存在 440
22.2.2 创建档案 441
22.2.3 複製档案 442
22.2.4 移动档案 442
22.2.5 删除档案 443
22.2.6 获取档案基本信息 443
22.3 资料夹基本操作 444
22.3.1 判断资料夹是否存在 444
22.3.2 创建资料夹 445
22.3.3 移动资料夹 445
22.3.4 删除资料夹 446
22.3.5 遍历资料夹 446
22.4 I/O(输入/输出) 448
22.4.1 流概述 448
22.4.2 档案I/O流介绍 449
22.4.3 使用I/O流操作文本档案 450
22.4.4 使用I/O流操作二进制档案 452
22.5 实战 454
22.5.1 档案批量重命名的实现 454
22.5.2 製作一个分割与合併档案工具 457
22.5.3 根据日期动态建立档案 460
22.5.4 複製档案时显示複製进度 460
22.5.5 伪装资料夹 462
22.5.6 对指定资料夹中的档案进行分类存储 463
22.6 小结 464
22.7 学习成果检验 464
第23章 GDI+绘图及列印技术 465
视频讲解:70分钟
23.1 GDI+绘图基础 466
23.1.1 GDI+概述 466
23.1.2 创建Graphics对象 466
23.1.3 创建Pen对象 467
23.1.4 创建Brush对象 467
23.2 基本图形绘製 469
23.2.1 绘製直线和矩形 469
23.2.2 绘製椭圆、圆弧和扇形 470
23.2.3 绘製多边形 472
23.2.4 绘製文本 472
23.2.5 绘製图形 473
23.3 Windows列印组件的使用 473
23.3.1 使用PageSetupDialog组件设定列印
文档信息 473
23.3.2 使用PrintDialog组件显示列印对
话框 474
23.3.3 使用PrintDocument组件设定列印
文档 475
23.3.4 使用PrintPreviewControl组件设定列印
预览文档 476
23.3.5 使用PrintPreviewDialog组件显示列印
预览 477
23.4 实战 477
23.4.1 套用GDI+技术实现图像的水印效果 477
23.4.2 套用GDI+技术实现批量图像格式
转换 480
23.4.3 抓取网站整页面 484
23.4.4 打造自己的开心农场 487
23.4.5 使用列印组件列印商品入库单信息 489
23.5 小结 491
23.6 学习成果检验 491
第24章 网路编程 492
视频讲解:110分钟
24.1 计算机网路基础 493
24.1.1 区域网路与网际网路介绍 493
24.1.2 网路协定介绍 493
24.1.3 连线埠及套接字介绍 495
24.2 网路编程基础 496
24.2.1 System.Net命名空间及相关类的
使用 496
24.2.2 System.Net.Sockets命名空间及相关类
的使用 501
24.2.3 System.Net.Mail命名空间及相关类的
使用 506
24.3 实战 509
24.3.1 创建Web页面浏览器 509
24.3.2 设计点对点聊天程式 510
24.3.3 电子邮件的传送与接收 512
24.3.4 获取网路信息及流量 516
24.3.5 远程关闭与重启计算机 517
24.4 小结 518
24.5 学习成果检验 518
第25章 执行绪的使用 519
视频讲解:84分钟
25.1 执行绪概述 520
25.1.1 执行绪的定义与分类 520
25.1.2 多执行绪的使用 521
25.1.3 执行绪的生命周期 521
25.2 C#中的执行绪类Thread 522
25.3 执行绪调度 524
25.3.1 创建执行绪 524
25.3.2 执行绪的挂起与恢复 525
25.3.3 执行绪休眠 526
25.3.4 终止执行绪 526
25.3.5 执行绪的优先权 527
25.4 执行绪同步 529
25.4.1 执行绪同步机制 529
25.4.2 使用lock关键字实现执行绪同步 529
25.4.3 使用Monitor驱动对象实现执行绪同步 530
25.4.4 使用Mutex类实现执行绪同步 531
25.5 实战 532
25.5.1 使用多执行绪製作连线埠扫描工具 532
25.5.2 使用执行绪控制向窗体中拖放图片并
显示 535
25.5.3 使用执行绪扫描区域网路IP位址 538
25.5.4 使用执行绪製作小游戏 539
25.5.5 有进度条的档案异步複製功能 540
25.6 小结 542
25.7 学习成果检验 542
第26章 异常处理与程式调试 543
视频讲解:36分钟
26.1 异常处理与程式调试概述 544
26.2 异常处理语句的使用 544
26.2.1 使用throw语句抛出异常 544
26.2.2 使用try...catch语句捕捉异常 545
26.2.3 使用try...catch...finally语句捕捉异常 546
26.3 常用的程式调试操作 547
26.3.1 断点操作 547
26.3.2 开始、中断和停止程式的执行 548
26.3.3 单步执行 549
26.3.4 运行到指定位置 550
26.4 实战 550
26.4.1 使用异常处理语句捕获资料库连线
异常 550
26.4.2 通过插入断点查看局部变数的值 551
26.5 小结 552
26.6 学习成果检验 552
第27章 Windows应用程式打包部署 553
视频讲解:20分钟
27.1 Windows Installer介绍 554
27.2 创建Windows安装项目 554
27.3 製作Windows安装程式 555
27.3.1 添加项目输出 555
27.3.2 添加内容档案 555
27.3.3 创建桌面捷径 556
27.3.4 添加注册表项 556
27.3.5 生成Windows安装程式 557
27.4 部署Windows应用程式 558
27.5 实战 559
27.5.1 为Windows安装程式添加程式组 559
27.5.2 使用"发布"部署Windows套用
程式 560
27.6 小结 561
27.7 学习成果检验 561
第28章 综合实验(四)--FTP档案
管理模组 562
视频讲解:60分钟
28.1 FTP档案管理模组概述 563
28.1.1 FTP登录流程 563
28.1.2 本机档案操作流程 563
28.1.3 伺服器档案上传/下载流程 563
28.1.4 程式预览 564
28.2 关键技术 564
28.2.1 架设FTP伺服器 564
28.2.2 登录FTP伺服器 566
28.2.3 获取伺服器上档案的大小 567
28.2.4 向FTP伺服器传送命令 568
28.2.5 调用系统API 569
28.3 主窗体设计 569
28.3.1 主窗体功能概述 569
28.3.2 主窗体界面设计 570
28.4 FTP登录 570
28.4.1 FTP登录功能概述 570
28.4.2 登录FTP伺服器 571
28.5 本机档案操作 573
28.5.1 本机档案操作功能概述 573
28.5.2 获取本地磁碟 573
28.5.3 获取指定磁碟中的档案 574
28.5.4 批量上传档案 575
28.6 伺服器档案上传/下载 579
28.6.1 伺服器档案上传/下载功能概述 579
28.6.2 获取FTP伺服器中的所有档案 579
28.6.3 批量下载档案 581
28.6.4 删除FTP中的档案或资料夹 584
28.7 小结 586
28.8 学习成果检验 586
第5篇 项 目 实 战
第29章 进销存管理系统 588
视频讲解:100分钟
29.1 需求分析 589
29.2 系统设计 589
29.2.1 系统目标 589
29.2.2 系统功能结构 589
29.2.3 系统业务流程图 589
29.2.4 档案组织结构 589
29.3 系统运行环境 590
29.4 资料库与数据表设计 590
29.4.1 资料库分析 590
29.4.2 数据表设计 591
29.4.3 数据表逻辑关係 592
29.5 公共类设计 593
29.5.1 DataBase公共类 593
29.5.2 BaseInfo公共类 596
29.6 登录模组设计 600
29.6.1 登录模组概述 600
29.6.2 登录模组实现原理 600
29.6.3 登录模组实现过程 600
29.7 系统主窗体设计 601
29.7.1 系统主窗体概述 601
29.7.2 使用MenuStrip控制项设计选单栏 602
29.7.3 系统主窗体实现过程 602
29.8 库存商品管理模组设计 603
29.8.1 库存商品管理模组概述 603
29.8.2 自动生成库存商品编号 603
29.8.3 库存商品管理模组实现过程 603
29.9 进货管理模组设计 607
29.9.1 进货管理模组概述 607
29.9.2 向进货单中批量添加商品 607
29.9.3 进货管理模组实现过程 608
29.10 商品销售排行模组设计 612
29.10.1 商品销售排行模组概述 612
29.10.2 使用BETWEEN...AND关键字查询
数据 612
29.10.3 商品销售排行模组实现过程 612
29.11 库存档点模组设计 614
29.11.1 库存档点模组概述 614
29.11.2 隔离驱动模式的使用 614
29.11.3 库存档点模组实现过程 614
29.12 系统打包部署 616
29.13 小结 618
第30章 企业人事管理系统 619
视频讲解:130分钟
30.1 系统分析 620
30.1.1 需求分析 620
30.1.2 可行性分析 620
30.1.3 编写项目计画书 621
30.2 系统设计 622
30.2.1 系统目标 622
30.2.2 系统功能结构 623
30.2.3 系统业务流程图 623
30.2.4 系统编码规範 624
30.3 系统运行环境 624
30.4 资料库与数据表设计 624
30.4.1 资料库分析 624
30.4.2 数据表设计 625
30.4.3 数据表逻辑关係 626
30.5 公共类设计 627
30.5.1 MyMeans公共类 628
30.5.2 MyModule公共类 629
30.6 登录模组设计 640
30.6.1 设计登录窗体 641
30.6.2 按Enter键时移动滑鼠焦点 641
30.6.3 登录功能的实现 641
30.7 系统主窗体设计 642
30.7.1 设计选单栏 642
30.7.2 设计工具列 643
30.7.3 设计导航选单 644
30.7.4 设计状态栏 644
30.8 人事档案管理模组设计 645
30.8.1 设计"人事档案管理"窗体 646
30.8.2 添加/修改人事档案信息 647
30.8.3 删除人事档案信息 649
30.8.4 单条件查询人事档案信息 649
30.8.5 逐条查看人事档案信息 651
30.8.6 将人事档案信息导出为Word
文档 653
30.9 人事资料查询模组设计 657
30.9.1 设计"人事资料查询"窗体 657
30.9.2 多条件查询人事资料 658
30.10 通讯录模组设计 659
30.10.1 设计"通讯录"窗体 659
30.10.2 添加/修改通讯录信息 659
30.10.3 删除通讯录信息 661
30.10.4 查询通讯录信息 661
30.11 用户设定模组设计 662
30.11.1 设计"用户设定"窗体 662
30.11.2 添加/修改用户信息 663
30.11.3 删除用户基本信息 664
30.11.4 设定用户操作许可权 665
30.12 开发中常见问题与解决 665
30.12.1 程式无法运行 665
30.12.2 无法添加职工基本信息 665
30.12.3 选择职工头像时出现异常 666
30.12.4 出现Word引用问题 667
30.12.5 COM选项卡中没有Word 9.0
引用 667
30.13 小结 667
附录A 选单栏命令 668
附录B C#程式编码规範 671
B.1 命名规则 671
B.1.1 数据类型简写规则 671
B.1.2 变数及对象名称命名规则 671
B.1.3 类命名规则 671
B.1.4 属性命名规则 672
B.1.5 方法命名规则 672
B.1.6 接口命名规则 672
B.1.7 控制项命名规则 672
B.2 代码版式 673
B.2.1 统一代码缩进 673
B.2.2 合理使用空行 673
B.2.3 代码换行 673
B.2.4 空格的使用 673
B.3 代码注释 674
B.3.1 注释的目的 674
B.3.2 代码注释规範 674
B.4 资料库编程命名规範 674
B.4.1 资料库命名规範 674
B.4.2 数据表命名规範 675
B.4.3 栏位命名规範 675
B.4.4 视图命名规範 675
B.4.5 存储过程命名规範 675
B.4.6 触发器命名规範 676
第1篇 新 手 入 门
第1章 初探C#及其开发环境 2
视频讲解:60分钟
1.1 了解.NET 3
1.1.1 .NET概述 3
1.1.2 .NET程式编译原理 3
1.1.3 .NET项目成功案例 4
1.2 C#语言及其特点 5
1.2.1 C#与.NET的关係 5
1.2.2 C#语言的特点 5
1.2.3 C#语言的发展趋势 5
1.3 安装与卸载Visual Studio 2010 5
1.3.1 安装Visual Studio 2010系统必备条件 6
1.3.2 安装Visual Studio 2010 6
1.3.3 卸载Visual Studio 2010 8
1.4 熟悉Visual Studio 2010开发环境 8
1.4.1 创建控制台应用程式 8
1.4.2 创建Windows窗体应用程式 9
1.4.3 选单栏 10
1.4.4 工具列介绍 10
1.4.5 "工具箱"面板 11
1.4.6 "属性"面板 11
1.4.7 解决方案资源管理器 11
1.4.8 "错误列表"面板 12
1.4.9 "输出"面板 12
1.5 C#编程常用帮助 12
1.5.1 安装Help Library管理器 13
1.5.2 使用Help Library管理器 13
1.5.3 常用的C#编程帮助网站 14
1.6 实战 15
1.6.1 如何开始运行程式 15
1.6.2 如何中断当前程式的运行 15
1.7 小结 16
1.8 学习成果检验 16
第2章 认识C#代码结构 17
视频讲解:40分钟
2.1 定製自己的开发环境 18
2.1.1 设定代码字型和颜色 18
2.1.2 设定显示代码行号 18
2.1.3 灵活使用自动隐藏功能 19
2.2 编写第一个C#程式 19
2.3 分析C#程式结构 20
2.3.1 命名空间介绍 20
2.3.2 类 21
2.3.3 Main方法 21
2.3.4 标识符 22
2.3.5 关键字 22
2.3.6 编写C#语句 22
2.3.7 代码注释 23
2.4 实战 24
2.4.1 使用"记事本"编写C#程式并编译 24
2.4.2 如何快速找到程式出错位置 24
2.4.3 为程式设定版本和帮助信息 25
2.4.4 为项目添加已有窗体 26
2.4.5 动起来的Label控制项 26
2.5 小结 27
2.6 学习成果检验 27
第3章 C#程式设计基础 28
视频讲解:98分钟
3.1 数据类型 29
3.1.1 值类型的使用 29
3.1.2 引用类型的使用 31
3.2 声明并使用变数 32
3.2.1 变数的声明及初始化 32
3.2.2 变数的作用域 33
3.3 声明并使用常量 33
3.4 数据类型转换 34
3.4.1 隐式类型转换 34
3.4.2 显式类型转换 35
3.4.3 装箱和拆箱 36
3.5 运算符的使用 37
3.5.1 算术运算符 38
3.5.2 赋值运算符 39
3.5.3 关係运算符 40
3.5.4 逻辑运算符 42
3.5.5 移位运算符 44
3.5.6 其他特殊运算符 45
3.5.7 运算符的优先权 46
3.6 实战 47
3.6.1 製作用户登录程式 47
3.6.2 判断一个数是否是素数 48
3.6.3 使用算术运算符开发简单计算器 49
3.6.4 使用"^"运算符对数字进行加密 50
3.6.5 巧用位移运算符获取汉字编码值 51
3.6.6 使用条件运算符判断指定年份是不是
闰年 51
3.7 小结 52
3.8 学习成果检验 52
第4章 选择结构控制 53
视频讲解:38分钟
4.1 C#程式设计算法 54
4.2 if语句的使用 56
4.2.1 使用if...else语句实现条件选择 56
4.2.2 if语句的嵌套使用 58
4.3 switch语句的使用 60
4.3.1 使用switch语句实现多分支选择 60
4.3.2 if...else语句与switch语句 61
4.4 实战 63
4.4.1 判断用户登录身份 63
4.4.2 递归算法的经典面试题 64
4.4.3 使用switch语句实现数字转换大写 65
4.4.4 使用流程控制语句报销业务花销 66
4.4.5 小明去学校和医院分别要走哪条路 66
4.5 小结 67
4.6 学习成果检验 67
第5章 循环结构控制 68
视频讲解:48分钟
5.1 while和do...while语句的使用 69
5.1.1 使用while语句实现代码循环 69
5.1.2 使用do...while语句实现至少执行一次
循环 70
5.1.3 while和do...while语句的区别 71
5.2 for和foreach语句的使用 72
5.2.1 使用for语句实现代码循环 72
5.2.2 使用foreach语句遍历数据集合 73
5.3 循环结构中的跳转语句 74
5.3.1 使用break语句跳出循环 74
5.3.2 使用continue语句继续程式的执行 76
5.3.3 使用goto语句实现程式跳转 76
5.3.4 使用return语句使程式返回 78
5.4 实战 79
5.4.1 鸡尾酒排序算法的实现 79
5.4.2 哥德巴赫猜想算法的实现 80
5.4.3 使用switch语句更改窗体颜色 82
5.4.4 使用goto语句在数组中搜寻指定图书 83
5.4.5 製作一个数字猜猜看小游戏 83
5.5 小结 85
5.6 学习成果检验 85
第6章 字元及字元串 86
视频讲解:72分钟
6.1 字元操作 87
6.1.1 Char类概述 87
6.1.2 使用Char类中的方法对字元进行操作 87
6.1.3 认识并使用转义字元 88
6.2 字元串的声明及初始化 89
6.2.1 String类概述 89
6.2.2 声明字元串 90
6.2.3 初始化字元串 90
6.3 字元串操作 90
6.3.1 比较字元串 90
6.3.2 格式化字元串 92
6.3.3 截取字元串 94
6.3.4 分割字元串 94
6.3.5 插入和填充字元串 95
6.3.6 删除字元串 97
6.3.7 複製字元串 97
6.3.8 替换字元串 99
6.4 可变字元串类StringBuilder的使用 100
6.4.1 StringBuilder类概述 100
6.4.2 创建StringBuilder对象 100
6.4.3 StringBuilder类的使用 101
6.4.4 StringBuilder类与String类的区别 102
6.5 实战 102
6.5.1 长字元串分段显示 102
6.5.2 字元串加密与解密 103
6.5.3 根据汉字获得其区位码 104
6.5.4 字母与ASCII码的转换 105
6.5.5 将汉字转换为拼音 106
6.5.6 批量替换某一类字元串 106
6.5.7 开发一个进制转换器 106
6.6 小结 109
6.7 学习成果检验 109
第7章 数组、集合与哈希表 110
视频讲解:96分钟
7.1 数组概述 111
7.2 一维数组的声明和使用 111
7.2.1 一维数组的声明 111
7.2.2 一维数组的使用 112
7.3 二维数组的声明和使用 113
7.3.1 二维数组的声明 113
7.3.2 二维数组的使用 113
7.3.3 动态数组的声明及使用 114
7.4 数组的基本操作 115
7.4.1 遍历数组中的元素 115
7.4.2 添加/删除数组元素 115
7.4.3 使用排序算法对数组进行排序 116
7.4.4 数组的合併与拆分 118
7.5 ArrayList集合的使用 120
7.5.1 ArrayList集合概述 120
7.5.2 添加ArrayList集合元素 121
7.5.3 删除ArrayList集合元素 123
7.5.4 遍历ArrayList集合 124
7.5.5 查找ArrayList集合元素 125
7.6 Hashtable(哈希表)的使用 126
7.6.1 Hashtable概述 126
7.6.2 添加Hashtable元素 126
7.6.3 删除Hashtable元素 127
7.6.4 遍历Hashtable元素 128
7.6.5 查找Hashtable元素 128
7.7 实战 129
7.7.1 使用数组解决约瑟夫环问题 129
7.7.2 希尔排序算法的实现 130
7.7.3 使用哈希表查找XML档案 131
7.7.4 操作便捷的简单电话簿 132
7.7.5 向班级集合中添加学生信息 133
7.7.6 设计一个简单客车售票记录程式 134
7.8 小结 135
7.9 学习成果检验 135
第8章 面向对象程式设计 136
视频讲解:96分钟
8.1 面向对象编程概述 137
8.2 属性的定义及使用 137
8.2.1 属性概述 138
8.2.2 属性的定义 138
8.2.3 属性的使用 139
8.3 方法的声明及使用 140
8.3.1 方法概述 140
8.3.2 方法修饰符 140
8.3.3 方法的声明 141
8.3.4 方法的分类 142
8.3.5 重载方法的实现 142
8.4 结构的定义及使用 143
8.4.1 结构概述 143
8.4.2 结构的定义 144
8.4.3 结构的使用 144
8.5 类与对象详解 145
8.5.1 类的概念 145
8.5.2 类的声明 146
8.5.3 构造函式和析构函式 146
8.5.4 对象的声明和实例化 147
8.5.5 类与对象的关係 149
8.6 面向对象特性之封装 149
8.6.1 封装概述 149
8.6.2 封装的实现 150
8.7 面向对象特性之继承 151
8.7.1 继承概述 151
8.7.2 继承的实现 151
8.7.3 单继承的使用 153
8.7.4 多重继承的使用 154
8.8 面向对象特性之多态 156
8.8.1 多态概述 156
8.8.2 多态的实现 157
8.9 实战 159
8.9.1 使用面向对象思想实现简单计算器 159
8.9.2 使用面向对象思想实现在字元串中查找
数字 160
8.9.3 通过类的多态性确定人类的说话行为 161
8.9.4 存储不同类型的数据列表 162
8.9.5 去掉数组中的重複数字 162
8.10 小结 163
8.11 学习成果检验 163
第9章 综合实验(一)--365桌面
提醒器 164
视频讲解:78分钟
9.1 365桌面提醒器概述 165
9.1.1 提醒设定流程 165
9.1.2 计画录入流程 165
9.1.3 计画查询流程 165
9.1.4 计画统计流程 166
9.1.5 定时关机流程 166
9.1.6 程式预览 167
9.2 资料库设计 168
9.3 关键技术 168
9.3.1 通过修改注册表实现自动运行程式 168
9.3.2 使用多执行绪处理弹出"提示气泡"
任务 170
9.3.3 使用扩展方法为系统类型添加新功能 171
9.3.4 套用初始化器创建集合或对象 171
9.3.5 使用ADO.NET对象提交数据 172
9.4 公共类设计 172
9.4.1 封装数据值和显示值的类 172
9.4.2 绑定和显示数据的类 173
9.5 提醒设定 174
9.5.1 提醒设定功能概述 174
9.5.2 "提醒设定"界面设计 174
9.5.3 打开"提醒设定"界面 174
9.5.4 保存提示设定 175
9.6 计画录入 176
9.6.1 计画录入功能概述 176
9.6.2 "计画录入"界面设计 176
9.6.3 打开"计画录入"界面 177
9.6.4 添加计画任务 177
9.6.5 保存计画任务 178
9.6.6 删除计画任务 179
9.7 计画查询 180
9.7.1 计画查询功能概述 180
9.7.2 "计画查询"界面设计 180
9.7.3 打开"计画查询"界面 180
9.7.4 查询计画信息 181
9.7.5 处理计画 182
9.8 计画统计 183
9.8.1 计画统计功能概述 183
9.8.2 "计画统计"界面设计 183
9.8.3 统计计画信息 184
9.9 小结 184
9.10 学习成果检验 184
第2篇 进 阶 提 高
第10章 Windows窗体设计 186
视频讲解:60分钟
10.1 Form窗体基础 187
10.1.1 Form窗体概述 187
10.1.2 添加和删除Form窗体 187
10.1.3 添加多窗体 188
10.1.4 设定窗体的属性 189
10.1.5 窗体的显示与隐藏 191
10.1.6 触发窗体事件 191
10.2 MDI窗体设计 192
10.2.1 MDI窗体概述 192
10.2.2 设定MDI窗体 193
10.2.3 排列MDI子窗体 193
10.3 继承窗体设计 195
10.3.1 继承窗体概述 195
10.3.2 创建继承窗体 195
10.3.3 在继承窗体中修改继承的控制项属性 197
10.4 实战 198
10.4.1 设计一个系统登录窗体 198
10.4.2 製作启动欢迎界面 198
10.4.3 从上次关闭位置启动窗体 199
10.4.4 自定义"最大化"、"最小化"和
"关闭"按钮 200
10.4.5 製作滑鼠穿透窗体 202
10.4.6 窗体换肤程式 202
10.5 小结 204
10.6 学习成果检验 204
第11章 Windows应用程式常用控制项 205
视频讲解:120分钟
11.1 控制项概述 206
11.1.1 控制项的分类及作用 206
11.1.2 控制项命名规範 207
11.2 控制项的相关操作 207
11.2.1 添加控制项 207
11.2.2 对齐控制项 208
11.2.3 锁定控制项 208
11.2.4 删除控制项 208
11.3 文本类控制项 208
11.3.1 标籤控制项 209
11.3.2 按钮控制项 209
11.3.3 文本框控制项 210
11.3.4 有格式文本控制项 212
11.4 选择类控制项 214
11.4.1 下拉组合框控制项 215
11.4.2 複选框控制项 216
11.4.3 单选按钮控制项 217
11.4.4 数值选择控制项 218
11.4.5 列表控制项 219
11.5 分组控制项 221
11.5.1 容器控制项 222
11.5.2 分组框控制项 222
11.5.3 选项卡控制项 223
11.6 实战 225
11.6.1 判断注册用户操作许可权 225
11.6.2 使用ListBox实现点菜功能 228
11.6.3 只允许输入数字的TextBox控制项 230
11.6.4 实现类似Word的项目编号功能 230
11.6.5 在RichTextBox控制项中实现关键字描红 231
11.6.6 对ListBox控制项中的数据进行排序 231
11.7 小结 232
11.8 学习成果检验 232
第12章 Windows应用程式高级控制项 233
视频讲解:125分钟
12.1 存储图像控制项(ImageList控制项) 234
12.1.1 在ImageList控制项中添加图像 234
12.1.2 在ImageList控制项中移除图像 234
12.2 列表视图控制项(ListView控制项) 235
12.2.1 在ListView控制项中添加/移除项 236
12.2.2 选择ListView控制项中的项 237
12.2.3 为ListView控制项中的项添加图示 238
12.2.4 在ListView控制项中启用平铺视图 238
12.2.5 为ListView控制项中的项分组 239
12.3 树控制项(TreeView控制项) 241
12.3.1 添加和删除树节点 241
12.3.2 获取树控制项中选中的节点 242
12.3.3 为树控制项中的节点设定图示 243
12.4 日期控制项(DateTimePicker控制项) 244
12.4.1 使用DateTimePicker控制项显示时间 244
12.4.2 使用DateTimePicker控制项以自定义格式
显示日期 244
12.4.3 返回DateTimePicker控制项中选择的
日期 245
12.5 月曆控制项(MonthCalendar控制项) 246
12.5.1 更改MonthCalendar控制项的外观 246
12.5.2 在MonthCalendar控制项中显示多个
月份 247
12.5.3 在MonthCalendar控制项中以粗体显示
特定日期 247
12.5.4 在MonthCalendar控制项中选择日期
範围 248
12.6 其他高级控制项 249
12.6.1 使用ErrorProvider控制项验证文本框
输入 249
12.6.2 使用HelpProvider控制项调用帮助档案 250
12.6.3 使用Timer控制项设定时间间隔 251
12.6.4 使用ProgressBar控制项显示程式运行进
度条 252
12.7 实战 252
12.7.1 设计一个电子万年曆 252
12.7.2 製作一个闹钟计时器 254
12.7.3 在模式视窗中显示进度条 257
12.7.4 使用TreeView控制项遍历磁碟目录 259
12.7.5 用树型列表动态显示选单 260
12.8 小结 261
12.9 学习成果检验 261
第13章 对话框、选单、工具列及状态栏
控制项 262
视频讲解:48分钟
13.1 对话框控制项 263
13.1.1 对话框概述 263
13.1.2 打开对话框控制项 263
13.1.3 另外储存为对话框控制项 263
13.1.4 浏览资料夹对话框控制项 264
13.1.5 颜色对话框控制项 265
13.1.6 字型对话框控制项 265
13.2 选单、工具列和状态栏控制项 266
13.2.1 选单控制项(MenuStrip控制项) 266
13.2.2 工具列控制项(ToolStrip控制项) 266
13.2.3 状态栏控制项(StatusStrip控制项) 267
13.3 实战 268
13.3.1 製作带历史信息的选单 268
13.3.2 製作仿XP系统的系统列选单 269
13.3.3 具有提示功能的工具列 271
13.3.4 级联选单的动态合併 271
13.3.5 在状态栏中显示当前系统操作员 272
13.4 小结 272
13.5 学习成果检验 272
第14章 综合实验(二)--QQ自动
登录器模组 273
视频讲解:62分钟
14.1 QQ自动登录器概述 274
14.1.1 QQ自动登录器流程 274
14.1.2 主窗体流程 274
14.1.3 添加QQ账号流程 274
14.1.4 路径设定流程 275
14.1.5 程式预览 275
14.2 资料库设计 275
14.3 关键技术 276
14.3.1 QQ自动登录器的实现原理 276
14.3.2 使用MD5加密算法加密QQ密码 276
14.3.3 使用XML档案存储QQ账号信息 277
14.3.4 使用XmlElement类序列化QQ账号
属性 278
14.3.5 通过XML档案读取和写入QQ账号
信息 279
14.3.6 使用注册表存储信息 281
14.4 主窗体 281
14.4.1 主窗体功能概述 281
14.4.2 主窗体界面设计 281
14.4.3 初始化QQ列表 282
14.4.4 启动多个QQ账号 283
14.4.5 启动QQ程式 284
14.4.6 增加QQ账号信息 285
14.4.7 修改QQ账号信息 285
14.4.8 删除QQ账号 286
14.4.9 设定QQ账号为隐身 286
14.5 添加QQ账号 287
14.5.1 添加QQ账号功能概述 287
14.5.2 添加QQ账号界面设计 287
14.5.3 添加QQ账号 287
14.6 路径设定 289
14.6.1 路径设定功能概述 289
14.6.2 路径设定界面设计 289
14.6.3 显示原有路径设定 289
14.6.4 选择QQ程式路径 290
14.6.5 保存路径设定 290
14.7 小结 291
14.8 学习成果检验 291
第3篇 中 级 开 发
第15章 资料库编程基础 294
视频讲解:56分钟
15.1 资料库基础 295
15.1.1 资料库简介 295
15.1.2 安装SQL Server 2000资料库 295
15.1.3 安装SQL Server 2005资料库 297
15.1.4 安装SQL Server 2008资料库 299
15.1.5 资料库的创建及删除 304
15.1.6 数据表的创建及删除 304
15.2 SQL语言基础 306
15.2.1 SQL语言简介 306
15.2.2 简单SQL语句的套用 306
15.3 实战 311
15.3.1 使用INSERT SELECT语句批量
插入数据 311
15.3.2 从一个表中向另一个表中複製行 311
15.3.3 统计某个值出现的次数 312
15.3.4 对多列的求和运算 313
15.3.5 通过CASE语句生成静态交叉表 314
15.4 小结 314
15.5 学习成果检验 314
第16章 ADO.NET数据访问技术 315
视频讲解:90分钟
16.1 ADO.NET概述 316
16.2 使用Connection对象连线资料库 316
16.2.1 Connection对象概述 316
16.2.2 连线资料库 316
16.2.3 关闭连线 317
16.3 使用Command对象执行SQL
语句 319
16.3.1 Command对象概述 319
16.3.2 设定数据源类型 319
16.3.3 执行SQL语句 320
16.4 使用DataReader对象读取数据 322
16.4.1 DataReader对象概述 322
16.4.2 判断查询结果中是否有值 323
16.4.3 读取数据 324
16.5 数据适配器:DataAdapter对象 324
16.5.1 DataAdapter对象概述 324
16.5.2 填充DataSet数据集 325
16.5.3 更新数据源 325
16.6 数据集:DataSet对象 327
16.6.1 DataSet对象概述 327
16.6.2 合併DataSet内容 327
16.6.3 複製DataSet内容 328
16.7 实战 329
16.7.1 使用二进制存储用户头像 329
16.7.2 使用存储过程实现员工自动编号 332
16.7.3 使用交叉表统计商品销售信息 333
16.7.4 向SQL Server资料库中批量写入海量
数据 336
16.7.5 使用断开式连线批量更新资料库中的
数据 337
16.7.6 综合查询职工详细信息 337
16.8 小结 340
16.9 学习成果检验 340
第17章 DataGridView数据控制项 341
视频讲解:52分钟
17.1 DataGridView控制项概述 342
17.2 在DataGridView控制项中显示数据 342
17.3 获取DataGridView控制项中的当前
单元格 343
17.4 在DataGridView控制项中修改数据 344
17.5 选中DataGridView控制项中的行时
显示不同颜色 345
17.6 禁止在DataGridView控制项中添加和
删除行 347
17.7 禁用DataGridView控制项的自动排序
功能 347
17.8 合併DataGridView控制项中的单
元格 348
17.9 实战 350
17.9.1 将DataGridView中的数据导出到
Word 350
17.9.2 将DataGridView中的数据导出到
Excel 351
17.9.3 在DataGridView控制项中验证数据
输入 352
17.9.4 在DataGridView控制项中添加"合计"和
"平均值" 353
17.9.5 通过DataGridView分页查看用户信息 354
17.10 小结 356
17.11 学习成果检验 356
第18章 面向对象编程高级技术 357
视频讲解:48分钟
18.1 接口的声明及实现 358
18.1.1 接口概述 358
18.1.2 接口的声明 358
18.1.3 接口的实现与继承 359
18.1.4 显式接口成员实现 360
18.2 抽象类的声明及使用 362
18.2.1 抽象类概述 362
18.2.2 抽象类的声明 362
18.2.3 抽象方法的声明 362
18.2.4 抽象类的使用 363
18.2.5 抽象类与接口 364
18.3 密封类的声明及使用 364
18.3.1 密封类概述 364
18.3.2 密封类的声明 365
18.3.3 密封方法的声明 365
18.3.4 密封类的使用 366
18.4 实战 367
18.4.1 使用多重继承实现教师和学生信息的
输出 367
18.4.2 对用户信息进行密封 369
18.4.3 自定义抽象类计算圆形的面积 371
18.4.4 利用接口实现选择不同的语言 371
18.4.5 使用接口作为方法参数进行编程 372
18.4.6 通过重写虚方法实现加法运算 373
18.5 小结 373
18.6 学习成果检验 373
第19章 枚举类型与泛型 374
视频讲解:30分钟
19.1 枚举类型 375
19.1.1 枚举类型概述 375
19.1.2 枚举类型的声明 375
19.1.3 枚举类型基类--Enum类 376
19.1.4 枚举类型的使用 377
19.2 泛型及其使用 378
19.2.1 泛型概述 378
19.2.2 类型参数T 378
19.2.3 泛型接口的声明及使用 379
19.2.4 泛型方法的声明及使用 379
19.3 实战 380
19.3.1 使用枚举判断用户操作许可权 380
19.3.2 使用泛型去掉数组中的重複数字 381
19.3.3 使用叠代器显示公车站点 383
19.3.4 使用分部类实现多种计算方法 383
19.3.5 通过继承泛型类实现输出学生信息 384
19.4 小结 385
19.5 学习成果检验 385
第20章 LINQ技术的使用 386
视频讲解:76分钟
20.1 LINQ基础 387
20.1.1 LINQ概述 387
20.1.2 使用var创建隐型局部变数 387
20.1.3 Lambda表达式的使用 388
20.1.4 LINQ查询表达式 389
20.2 LINQ操作SQL Server资料库 390
20.2.1 使用LINQ查询SQL Server资料库 390
20.2.2 使用LINQ管理SQL Server资料库 393
20.3 LINQ操作其他数据 398
20.3.1 使用LINQ运算元组和集合 398
20.3.2 使用LINQ操作DataSet数据集 399
20.3.3 使用LINQ操作XML 400
20.4 实战 403
20.4.1 使用LINQ技术获取档案详细信息 403
20.4.2 使用LINQ技术分类查询公司员工
薪水 405
20.4.3 使用存储过程查询单表数据 406
20.4.4 使用LINQ技术防止SQL注入式攻击 407
20.4.5 使用LINQ技术实现数据分页 407
20.4.6 从头开始提取满足指定条件的记录 409
20.4.7 读取XML档案并更新到资料库 409
20.5 小结 411
20.6 学习成果检验 411
第21章 综合实验(三)--SQL数据表
提取器模组 412
视频讲解:54分钟
21.1 SQL数据表提取器概述 413
21.1.1 附加本地资料库流程 413
21.1.2 提取表结构流程 413
21.1.3 导出数据流程 413
21.1.4 程式预览 414
21.2 关键技术 415
21.2.1 添加COM组件 415
21.2.2 附加SQL Server资料库 415
21.2.3 分离SQL Server资料库 416
21.2.4 设定SQL Server资料库模式 416
21.3 主窗体 418
21.3.1 主窗体功能概述 418
21.3.2 主窗体界面设计 418
21.3.3 检索网路中的伺服器 419
21.3.4 获取资料库的名称 419
21.3.5 选择提取信息 421
21.4 附加本地资料库 422
21.4.1 附加本地资料库功能概述 422
21.4.2 附加本地资料库界面设计 422
21.4.3 浏览附加档案路径 423
21.4.4 实现资料库附加 423
21.5 提取表结构 424
21.5.1 提取表结构功能概述 424
21.5.2 "提取表结构"界面设计 424
21.5.3 获取表结构信息 425
21.5.4 导出到Excel 425
21.5.5 导出到Word 426
21.6 导出数据 427
21.6.1 导出数据功能概述 427
21.6.2 "导出数据"界面设计 428
21.6.3 获取数据信息 428
21.6.4 数据的导出 429
21.7 小结 431
21.8 学习成果检验 431
第4篇 高 级 应 用
第22章 档案及I/O 434
视频讲解:112分钟
22.1 档案操作基础 435
22.1.1 File类和FileInfo类介绍 435
22.1.2 Directory类和DirectoryInfo类介绍 438
22.2 档案基本操作 440
22.2.1 判断档案是否存在 440
22.2.2 创建档案 441
22.2.3 複製档案 442
22.2.4 移动档案 442
22.2.5 删除档案 443
22.2.6 获取档案基本信息 443
22.3 资料夹基本操作 444
22.3.1 判断资料夹是否存在 444
22.3.2 创建资料夹 445
22.3.3 移动资料夹 445
22.3.4 删除资料夹 446
22.3.5 遍历资料夹 446
22.4 I/O(输入/输出) 448
22.4.1 流概述 448
22.4.2 档案I/O流介绍 449
22.4.3 使用I/O流操作文本档案 450
22.4.4 使用I/O流操作二进制档案 452
22.5 实战 454
22.5.1 档案批量重命名的实现 454
22.5.2 製作一个分割与合併档案工具 457
22.5.3 根据日期动态建立档案 460
22.5.4 複製档案时显示複製进度 460
22.5.5 伪装资料夹 462
22.5.6 对指定资料夹中的档案进行分类存储 463
22.6 小结 464
22.7 学习成果检验 464
第23章 GDI+绘图及列印技术 465
视频讲解:70分钟
23.1 GDI+绘图基础 466
23.1.1 GDI+概述 466
23.1.2 创建Graphics对象 466
23.1.3 创建Pen对象 467
23.1.4 创建Brush对象 467
23.2 基本图形绘製 469
23.2.1 绘製直线和矩形 469
23.2.2 绘製椭圆、圆弧和扇形 470
23.2.3 绘製多边形 472
23.2.4 绘製文本 472
23.2.5 绘製图形 473
23.3 Windows列印组件的使用 473
23.3.1 使用PageSetupDialog组件设定列印
文档信息 473
23.3.2 使用PrintDialog组件显示列印对
话框 474
23.3.3 使用PrintDocument组件设定列印
文档 475
23.3.4 使用PrintPreviewControl组件设定列印
预览文档 476
23.3.5 使用PrintPreviewDialog组件显示列印
预览 477
23.4 实战 477
23.4.1 套用GDI+技术实现图像的水印效果 477
23.4.2 套用GDI+技术实现批量图像格式
转换 480
23.4.3 抓取网站整页面 484
23.4.4 打造自己的开心农场 487
23.4.5 使用列印组件列印商品入库单信息 489
23.5 小结 491
23.6 学习成果检验 491
第24章 网路编程 492
视频讲解:110分钟
24.1 计算机网路基础 493
24.1.1 区域网路与网际网路介绍 493
24.1.2 网路协定介绍 493
24.1.3 连线埠及套接字介绍 495
24.2 网路编程基础 496
24.2.1 System.Net命名空间及相关类的
使用 496
24.2.2 System.Net.Sockets命名空间及相关类
的使用 501
24.2.3 System.Net.Mail命名空间及相关类的
使用 506
24.3 实战 509
24.3.1 创建Web页面浏览器 509
24.3.2 设计点对点聊天程式 510
24.3.3 电子邮件的传送与接收 512
24.3.4 获取网路信息及流量 516
24.3.5 远程关闭与重启计算机 517
24.4 小结 518
24.5 学习成果检验 518
第25章 执行绪的使用 519
视频讲解:84分钟
25.1 执行绪概述 520
25.1.1 执行绪的定义与分类 520
25.1.2 多执行绪的使用 521
25.1.3 执行绪的生命周期 521
25.2 C#中的执行绪类Thread 522
25.3 执行绪调度 524
25.3.1 创建执行绪 524
25.3.2 执行绪的挂起与恢复 525
25.3.3 执行绪休眠 526
25.3.4 终止执行绪 526
25.3.5 执行绪的优先权 527
25.4 执行绪同步 529
25.4.1 执行绪同步机制 529
25.4.2 使用lock关键字实现执行绪同步 529
25.4.3 使用Monitor驱动对象实现执行绪同步 530
25.4.4 使用Mutex类实现执行绪同步 531
25.5 实战 532
25.5.1 使用多执行绪製作连线埠扫描工具 532
25.5.2 使用执行绪控制向窗体中拖放图片并
显示 535
25.5.3 使用执行绪扫描区域网路IP位址 538
25.5.4 使用执行绪製作小游戏 539
25.5.5 有进度条的档案异步複製功能 540
25.6 小结 542
25.7 学习成果检验 542
第26章 异常处理与程式调试 543
视频讲解:36分钟
26.1 异常处理与程式调试概述 544
26.2 异常处理语句的使用 544
26.2.1 使用throw语句抛出异常 544
26.2.2 使用try...catch语句捕捉异常 545
26.2.3 使用try...catch...finally语句捕捉异常 546
26.3 常用的程式调试操作 547
26.3.1 断点操作 547
26.3.2 开始、中断和停止程式的执行 548
26.3.3 单步执行 549
26.3.4 运行到指定位置 550
26.4 实战 550
26.4.1 使用异常处理语句捕获资料库连线
异常 550
26.4.2 通过插入断点查看局部变数的值 551
26.5 小结 552
26.6 学习成果检验 552
第27章 Windows应用程式打包部署 553
视频讲解:20分钟
27.1 Windows Installer介绍 554
27.2 创建Windows安装项目 554
27.3 製作Windows安装程式 555
27.3.1 添加项目输出 555
27.3.2 添加内容档案 555
27.3.3 创建桌面捷径 556
27.3.4 添加注册表项 556
27.3.5 生成Windows安装程式 557
27.4 部署Windows应用程式 558
27.5 实战 559
27.5.1 为Windows安装程式添加程式组 559
27.5.2 使用"发布"部署Windows套用
程式 560
27.6 小结 561
27.7 学习成果检验 561
第28章 综合实验(四)--FTP档案
管理模组 562
视频讲解:60分钟
28.1 FTP档案管理模组概述 563
28.1.1 FTP登录流程 563
28.1.2 本机档案操作流程 563
28.1.3 伺服器档案上传/下载流程 563
28.1.4 程式预览 564
28.2 关键技术 564
28.2.1 架设FTP伺服器 564
28.2.2 登录FTP伺服器 566
28.2.3 获取伺服器上档案的大小 567
28.2.4 向FTP伺服器传送命令 568
28.2.5 调用系统API 569
28.3 主窗体设计 569
28.3.1 主窗体功能概述 569
28.3.2 主窗体界面设计 570
28.4 FTP登录 570
28.4.1 FTP登录功能概述 570
28.4.2 登录FTP伺服器 571
28.5 本机档案操作 573
28.5.1 本机档案操作功能概述 573
28.5.2 获取本地磁碟 573
28.5.3 获取指定磁碟中的档案 574
28.5.4 批量上传档案 575
28.6 伺服器档案上传/下载 579
28.6.1 伺服器档案上传/下载功能概述 579
28.6.2 获取FTP伺服器中的所有档案 579
28.6.3 批量下载档案 581
28.6.4 删除FTP中的档案或资料夹 584
28.7 小结 586
28.8 学习成果检验 586
第5篇 项 目 实 战
第29章 进销存管理系统 588
视频讲解:100分钟
29.1 需求分析 589
29.2 系统设计 589
29.2.1 系统目标 589
29.2.2 系统功能结构 589
29.2.3 系统业务流程图 589
29.2.4 档案组织结构 589
29.3 系统运行环境 590
29.4 资料库与数据表设计 590
29.4.1 资料库分析 590
29.4.2 数据表设计 591
29.4.3 数据表逻辑关係 592
29.5 公共类设计 593
29.5.1 DataBase公共类 593
29.5.2 BaseInfo公共类 596
29.6 登录模组设计 600
29.6.1 登录模组概述 600
29.6.2 登录模组实现原理 600
29.6.3 登录模组实现过程 600
29.7 系统主窗体设计 601
29.7.1 系统主窗体概述 601
29.7.2 使用MenuStrip控制项设计选单栏 602
29.7.3 系统主窗体实现过程 602
29.8 库存商品管理模组设计 603
29.8.1 库存商品管理模组概述 603
29.8.2 自动生成库存商品编号 603
29.8.3 库存商品管理模组实现过程 603
29.9 进货管理模组设计 607
29.9.1 进货管理模组概述 607
29.9.2 向进货单中批量添加商品 607
29.9.3 进货管理模组实现过程 608
29.10 商品销售排行模组设计 612
29.10.1 商品销售排行模组概述 612
29.10.2 使用BETWEEN...AND关键字查询
数据 612
29.10.3 商品销售排行模组实现过程 612
29.11 库存档点模组设计 614
29.11.1 库存档点模组概述 614
29.11.2 隔离驱动模式的使用 614
29.11.3 库存档点模组实现过程 614
29.12 系统打包部署 616
29.13 小结 618
第30章 企业人事管理系统 619
视频讲解:130分钟
30.1 系统分析 620
30.1.1 需求分析 620
30.1.2 可行性分析 620
30.1.3 编写项目计画书 621
30.2 系统设计 622
30.2.1 系统目标 622
30.2.2 系统功能结构 623
30.2.3 系统业务流程图 623
30.2.4 系统编码规範 624
30.3 系统运行环境 624
30.4 资料库与数据表设计 624
30.4.1 资料库分析 624
30.4.2 数据表设计 625
30.4.3 数据表逻辑关係 626
30.5 公共类设计 627
30.5.1 MyMeans公共类 628
30.5.2 MyModule公共类 629
30.6 登录模组设计 640
30.6.1 设计登录窗体 641
30.6.2 按Enter键时移动滑鼠焦点 641
30.6.3 登录功能的实现 641
30.7 系统主窗体设计 642
30.7.1 设计选单栏 642
30.7.2 设计工具列 643
30.7.3 设计导航选单 644
30.7.4 设计状态栏 644
30.8 人事档案管理模组设计 645
30.8.1 设计"人事档案管理"窗体 646
30.8.2 添加/修改人事档案信息 647
30.8.3 删除人事档案信息 649
30.8.4 单条件查询人事档案信息 649
30.8.5 逐条查看人事档案信息 651
30.8.6 将人事档案信息导出为Word
文档 653
30.9 人事资料查询模组设计 657
30.9.1 设计"人事资料查询"窗体 657
30.9.2 多条件查询人事资料 658
30.10 通讯录模组设计 659
30.10.1 设计"通讯录"窗体 659
30.10.2 添加/修改通讯录信息 659
30.10.3 删除通讯录信息 661
30.10.4 查询通讯录信息 661
30.11 用户设定模组设计 662
30.11.1 设计"用户设定"窗体 662
30.11.2 添加/修改用户信息 663
30.11.3 删除用户基本信息 664
30.11.4 设定用户操作许可权 665
30.12 开发中常见问题与解决 665
30.12.1 程式无法运行 665
30.12.2 无法添加职工基本信息 665
30.12.3 选择职工头像时出现异常 666
30.12.4 出现Word引用问题 667
30.12.5 COM选项卡中没有Word 9.0
引用 667
30.13 小结 667
附录A 选单栏命令 668
附录B C#程式编码规範 671
B.1 命名规则 671
B.1.1 数据类型简写规则 671
B.1.2 变数及对象名称命名规则 671
B.1.3 类命名规则 671
B.1.4 属性命名规则 672
B.1.5 方法命名规则 672
B.1.6 接口命名规则 672
B.1.7 控制项命名规则 672
B.2 代码版式 673
B.2.1 统一代码缩进 673
B.2.2 合理使用空行 673
B.2.3 代码换行 673
B.2.4 空格的使用 673
B.3 代码注释 674
B.3.1 注释的目的 674
B.3.2 代码注释规範 674
B.4 资料库编程命名规範 674
B.4.1 资料库命名规範 674
B.4.2 数据表命名规範 675
B.4.3 栏位命名规範 675
B.4.4 视图命名规範 675
B.4.5 存储过程命名规範 675
B.4.6 触发器命名规範 676