第1部分 基础篇
第1堂课 初探C#及其开发环境3
视频讲解:96分钟
1.1 了解.NET4
1.1.1 .NET概述4
1.1.2 .NET程序编译原理4
1.1.3 .NET项目成功案例5
1.2 C#语言及特点6
1.2.1 C#与.NET的关系6
1.2.2 C#语言特点6
1.2.3 C#语言发展趋势7
1.3 安装与卸载Visual Studio 20087
1.3.1 安装Visual Studio 2008系统必备7
1.3.2 安装Visual Studio 20088
1.3.3 卸载Visual Studio 20089
1.4 熟悉Visual Studio 2008开发环境10
1.4.1 创建控制台应用程序10
1.4.2 创建Windows应用程序11
1.4.3 菜单栏介绍12
1.4.4 工具栏介绍13
1.4.5 “工具箱”面板介绍14
1.4.6 “属性”面板介绍14
1.4.7 解决方案资源管理器介绍15
1.5 C#编程常用帮助15
1.5.1 安装MSDN15
1.5.2 使用MSDN17
1.6 照猫画虎——基本功训练18
1.6.1 基本功训练1——如何开始运行程序18
1.6.2 基本功训练2——如何中断当前程序的运行19
1.6.3 基本功训练3——设置程序代码行号20
1.6.4 基本功训练4——统一窗体中控件的字体设置20
1.6.5 基本功训练5——通过“格式”菜单布局窗体21
1.7 情景应用——拓展与实践22
1.7.1 情景应用1——设置Windows应用程序启动窗体22
1.7.2 情景应用2——为程序设置版本和帮助信息23
1.7.3 情景应用3——为项目添加已有窗体24
1.7.4 情景应用4——动起来的Label控件24
1.7.5 情景应用5——加法计算器25
1.8 自我测试26
1.9 行动指南27
1.10 成功可以复制——C#语言之父安德斯·海尔斯伯格28
第2堂课 C#程序设计基础31
视频讲解:168分钟
2.1 编写第一个C#程序32
2.2 分析C#程序结构33
2.2.1 命名空间介绍33
2.2.2 类的介绍34
2.2.3 Main方法的使用34
2.2.4 认识标识符35
2.2.5 认识关键字35
2.2.6 编写C#语句35
2.2.7 代码注释36
2.3 数据类型37
2.3.1 值类型的使用37
2.3.2 引用类型的使用39
2.4 声明并使用变量40
2.4.1 变量的声明及初始化40
2.4.2 变量的作用域41
2.5 声明并使用常量42
2.6 数据类型转换43
2.6.1 隐式类型转换43
2.6.2 显式类型转换43
2.6.3 装箱和拆箱45
2.7 运算符的使用46
2.7.1 算术运算符46
2.7.2 赋值运算符48
2.7.3 关系运算符49
2.7.4 逻辑运算符51
2.7.5 移位运算符54
2.7.6 其他特殊运算符54
2.7.7 运算符的优先级56
2.8 照猫画虎——基本功训练57
2.8.1 基本功训练1——使用“///”标记给代码段添加说明57
2.8.2 基本功训练2——使用引号运算符进行赋值58
2.8.3 基本功训练3——使用checked关键字处理“溢出”错误58
2.8.4 基本功训练4——使用typeof关键字获取类的内部结构59
2.8.5 基本功训练5——使用using关键字有效回收资源60
2.9 情景应用——拓展与实践61
2.9.1 情景应用1——检查对象是否与给定类型兼容61
2.9.2 情景应用2——使用算术运算符开发简单计算器62
2.9.3 情景应用3——使用“^”运算符对数字进行加密64
2.9.4 情景应用4——巧用移位运算符获取汉字编码值65
2.9.5 情景应用5——使用条件运算符判断指定年份是不是闰年66
2.10 自我测试67
2.11 行动指南68
2.12 成功可以复制——中国第一程序员求伯君69
第1部分 基础篇
第1堂课 初探C#及其开发环境3
视频讲解:96分钟
1.1 了解.NET4
1.1.1 .NET概述4
1.1.2 .NET程序编译原理4
1.1.3 .NET项目成功案例5
1.2 C#语言及特点6
1.2.1 C#与.NET的关系6
1.2.2 C#语言特点6
1.2.3 C#语言发展趋势7
1.3 安装与卸载Visual Studio 20087
1.3.1 安装Visual Studio 2008系统必备7
1.3.2 安装Visual Studio 20088
1.3.3 卸载Visual Studio 20089
1.4 熟悉Visual Studio 2008开发环境10
1.4.1 创建控制台应用程序10
1.4.2 创建Windows应用程序11
1.4.3 菜单栏介绍12
1.4.4 工具栏介绍13
1.4.5 “工具箱”面板介绍14
1.4.6 “属性”面板介绍14
1.4.7 解决方案资源管理器介绍15
1.5 C#编程常用帮助15
1.5.1 安装MSDN15
1.5.2 使用MSDN17
1.6 照猫画虎——基本功训练18
1.6.1 基本功训练1——如何开始运行程序18
1.6.2 基本功训练2——如何中断当前程序的运行19
1.6.3 基本功训练3——设置程序代码行号20
1.6.4 基本功训练4——统一窗体中控件的字体设置20
1.6.5 基本功训练5——通过“格式”菜单布局窗体21
1.7 情景应用——拓展与实践22
1.7.1 情景应用1——设置Windows应用程序启动窗体22
1.7.2 情景应用2——为程序设置版本和帮助信息23
1.7.3 情景应用3——为项目添加已有窗体24
1.7.4 情景应用4——动起来的Label控件24
1.7.5 情景应用5——加法计算器25
1.8 自我测试26
1.9 行动指南27
1.10 成功可以复制——C#语言之父安德斯·海尔斯伯格28
第2堂课 C#程序设计基础31
视频讲解:168分钟
2.1 编写第一个C#程序32
2.2 分析C#程序结构33
2.2.1 命名空间介绍33
2.2.2 类的介绍34
2.2.3 Main方法的使用34
2.2.4 认识标识符35
2.2.5 认识关键字35
2.2.6 编写C#语句35
2.2.7 代码注释36
2.3 数据类型37
2.3.1 值类型的使用37
2.3.2 引用类型的使用39
2.4 声明并使用变量40
2.4.1 变量的声明及初始化40
2.4.2 变量的作用域41
2.5 声明并使用常量42
2.6 数据类型转换43
2.6.1 隐式类型转换43
2.6.2 显式类型转换43
2.6.3 装箱和拆箱45
2.7 运算符的使用46
2.7.1 算术运算符46
2.7.2 赋值运算符48
2.7.3 关系运算符49
2.7.4 逻辑运算符51
2.7.5 移位运算符54
2.7.6 其他特殊运算符54
2.7.7 运算符的优先级56
2.8 照猫画虎——基本功训练57
2.8.1 基本功训练1——使用“///”标记给代码段添加说明57
2.8.2 基本功训练2——使用引号运算符进行赋值58
2.8.3 基本功训练3——使用checked关键字处理“溢出”错误58
2.8.4 基本功训练4——使用typeof关键字获取类的内部结构59
2.8.5 基本功训练5——使用using关键字有效回收资源60
2.9 情景应用——拓展与实践61
2.9.1 情景应用1——检查对象是否与给定类型兼容61
2.9.2 情景应用2——使用算术运算符开发简单计算器62
2.9.3 情景应用3——使用“^”运算符对数字进行加密64
2.9.4 情景应用4——巧用移位运算符获取汉字编码值65
2.9.5 情景应用5——使用条件运算符判断指定年份是不是闰年66
2.10 自我测试67
2.11 行动指南68
2.12 成功可以复制——中国第一程序员求伯君69
第3堂课 程序流程控制71
视频讲解:116分钟
3.1 C#程序设计算法72
3.2 if语句的使用74
3.2.1 使用if和if…else语句实现条件选择74
3.2.2 if语句的嵌套使用77
3.3 switch语句的使用78
3.3.1 使用switch语句实现多分支选择79
3.3.2 if…else语句与switch语句80
3.4 while和do…while语句的使用82
3.4.1 使用while语句实现代码循环82
3.4.2 使用do…while语句实现至少执行一次循环84
3.4.3 while和do…while语句的区别86
3.5 for和foreach语句的使用86
3.5.1 使用for语句实现代码循环86
3.5.2 使用foreach语句遍历数据集合88
3.6 循环结构中的跳转语句89
3.6.1 使用break语句跳出循环89
3.6.2 使用continue语句继续程序的执行91
3.6.3 使用goto语句实现程序跳转92
3.6.4 使用return语句使程序返回94
3.7 照猫画虎——基本功训练95
3.7.1 基本功训练1——循环向控制台中输出内容95
3.7.2 基本功训练2——使用switch语句实现数字转换大写96
3.7.3 基本功训练3——鸡尾酒排序算法的实现97
3.7.4 基本功训练4——判断用户登录身份99
3.7.5 基本功训练5——小明去学校和医院分别要走哪条路100
3.8 情景应用——拓展与实践101
3.8.1 情景应用1——递归算法的经典面试题101
3.8.2 情景应用2——使用流程控制语句报销业务花销102
3.8.3 情景应用3——使用switch语句更改窗体颜色102
3.8.4 情景应用4——使用goto语句在数组中搜索指定图书103
3.8.5 情景应用5——制作一个数字猜猜看小游戏104
3.9 自我测试105
3.10 行动指南107
3.11 成功可以复制——软件业的华人
教父王嘉廉108
第4堂课 字符及字符串的使用111
视频讲解:106分钟
4.1 字符操作112
4.1.1 Char类概述112
4.1.2 使用Char类中的方法对字符进行操作112
4.1.3 认识并使用转义字符114
4.2 字符串的声明及初始化114
4.3 字符串操作115
4.3.1 比较字符串115
4.3.2 格式化字符串116
4.3.3 截取字符串117
4.3.4 分割字符串118
4.3.5 插入和填充字符串118
4.3.6 删除字符串120
4.3.7 复制字符串120
4.3.8 替换字符串122
4.4 可变字符串类StringBuilder的使用122
4.4.1 StringBuilder类概述122
4.4.2 创建StringBuilder对象123
4.4.3 StringBuilder类的使用123
4.4.4 StringBuilder类与string类的区别124
4.5 照猫画虎——基本功训练125
4.5.1 基本功训练1——判断用户输入的用户名是否正确125
4.5.2 基本功训练2——将字符串的每个字符进行颠倒输出126
4.5.3 基本功训练3——去掉字符串中的所有空格126
4.5.4 基本功训练4——获取字符串中汉字的个数127
4.5.5 基本功训练5——从字符串中分离文件路径、文件名及扩展名127
4.6 情景应用——拓展与实践128
4.6.1 情景应用1——字母与ASCII码的转换128
4.6.2 情景应用2——将汉字转换为拼音129
4.6.3 情景应用3——批量替换某一类字符串130
4.6.4 情景应用4——对字符串进行加密与解密131
4.6.5 情景应用5——开发一个进制转换器133
4.7 自我测试136
4.8 行动指南137
4.9 成功可以复制——“杀毒王”王江民不可思议的传奇人生138
第5堂课 数组与集合141
视频讲解:139分钟
5.1 数组概述142
5.2 一维数组的声明和使用142
5.2.1 一维数组的声明142
5.2.2 一维数组的使用143
5.3 二维数组的声明和使用144
5.3.1 二维数组的声明144
5.3.2 二维数组的使用144
5.3.3 动态数组的声明及使用145
5.4 数组的基本操作146
5.4.1 遍历数组中的元素146
5.4.2 添加和删除数组元素147
5.4.3 数组的合并与拆分147
5.5 ArrayList集合的使用149
5.5.1 ArrayList集合概述149
5.5.2 添加ArrayList集合元素150
5.5.3 删除ArrayList集合元素152
5.5.4 遍历ArrayList集合154
5.5.5 查找ArrayList集合元素154
5.6 照猫画虎——基本功训练155
5.6.1 基本功训练1——获取多维数组的行数与列数155
5.6.2 基本功训练2——按指定条件在数组中检索元素156
5.6.3 基本功训练3——在数组中添加一个元素157
5.6.4 基本功训练4——不改变长度删除数组中的元素159
5.6.5 基本功训练5——删除数组元素后改变其长度160
5.7 情景应用——拓展与实践162
5.7.1 情景应用1——操作便捷的简单电话簿162
5.7.2 情景应用2——使用数组解决约瑟夫环问题163
5.7.3 情景应用3——向班级集合中添加学生信息164
5.7.4 情景应用4——使用哈希表对XML文件进行查询165
5.7.5 情景应用5——设计一个简单客车售票记录程序166
5.8 自我测试168
5.9 行动指南169
5.10 成功可以复制——善于抓住时机的人徐少春170
第6堂课 程序设计中的算法173
视频讲解:57分钟
6.1 算法基础174
6.1.1 初识算法174
6.1.2 描述算法的两种常用流程图174
6.2 常用的算法175
6.2.1 查找最大、最小值算法的实现176
6.2.2 杨辉三角算法的实现177
6.2.3 冒泡排序法178
6.2.4 插入排序法179
6.2.5 选择排序法180
6.2.6 希尔排序法181
6.3 照猫画虎——基本功训练183
6.3.1 基本功训练1——计算1+22+33+44+…+nn的值183
6.3.2 基本功训练2——计算10!的值183
6.3.3 基本功训练3——求最大公约数184
6.3.4 基本功训练4——将B转换成GB、MB和KB185
6.3.5 基本功训练5——0~N位数的任意组合186
6.4 情景应用——拓展与实践187
6.4.1 情景应用1——身份证号从15位升到18位算法187
6.4.2 情景应用2——韩信点兵的算法实现188
6.4.3 情景应用3——求水仙花数的算法实现189
6.4.4 情景应用4——制作一个迷你星座查询器190
6.4.5 情景应用5——设计双色球彩票选号器194
6.5 自我测试196
6.6 行动指南197
6.7 成功可以复制——缔造华人的硅谷传奇杨致远197
第7堂课 面向对象程序设计199
视频讲解:160分钟
7.1 面向对象编程概述200
7.2 属性的定义及使用200
7.2.1 属性概述201
7.2.2 属性的定义201
7.2.3 属性的使用202
7.3 方法的声明及使用203
7.3.1 方法概述203
7.3.2 方法修饰符203
7.3.3 方法的声明204
7.3.4 方法的分类205
7.3.5 重载方法的实现206
7.4 枚举类型207
7.4.1 枚举类型概述207
7.4.2 枚举类型的声明207
7.4.3 枚举类型的使用208
7.5 泛型及其使用209
7.5.1 泛型概述209
7.5.2 类型参数T209
7.5.3 泛型接口的声明及使用209
7.6 结构的定义及使用210
7.6.1 结构概述211
7.6.2 结构的定义211
7.6.3 结构的使用211
7.7 类与对象详解212
7.7.1 类的概念212
7.7.2 类的声明213
7.7.3 构造函数和析构函数213
7.7.4 对象的声明和创建214
7.8 面向对象特性之封装216
7.8.1 封装概述216
7.8.2 封装的实现217
7.9 面向对象特性之继承218
7.9.1 继承概述218
7.9.2 单继承的使用219
7.9.3 多重继承的使用219
7.10 面向对象特性之多态221
7.10.1 多态概述221
7.10.2 多态的实现222
7.11 照猫画虎——基本功训练224
7.11.1 基本功训练1——使用属性存储用户编号和姓名224
7.11.2 基本功训练2——通过定义方法求一个数的平方225
7.11.3 基本功训练3——使用重载方法实现不同类型数据的计算226
7.11.4 基本功训练4——通过结构计算矩形的面积227
7.11.5 基本功训练5——通过类继承计算梯形面积227
7.12 情景应用——拓展与实践229
7.12.1 情景应用1——通过类的多态性确定人类的说话行为229
7.12.2 情景应用2——封装类实现一个简单的计算器230
7.12.3 情景应用3——使用分部类记录学生信息231
7.12.4 情景应用4——使用泛型存储不同类型的数据列表232
7.12.5 情景应用5——使用泛型去掉数组中的重复数字233
7.13 自我测试234
7.14 行动指南235
7.15 成功可以复制——百度CEO李彦宏236
第2部分 提高篇
第8堂课 Windows窗体设计241
视频讲解:139分钟
8.1 Form窗体基础242
8.1.1 Form窗体概述242
8.1.2 添加和删除Form窗体242
8.1.3 添加多窗体243
8.1.4 设置窗体的属性244
8.1.5 窗体的显示与隐藏246
8.1.6 触发窗体事件247
8.2 MDI窗体设计248
8.2.1 MDI窗体概述248
8.2.2 设置MDI窗体249
8.2.3 排列MDI子窗体249
8.3 继承窗体设计251
8.3.1 继承窗体概述251
8.3.2 创建继承窗体251
8.3.3 在继承窗体中修改继承的控件属性253
8.4 照猫画虎——基本功训练254
8.4.1 基本功训练1——控制窗体加载时的位置254
8.4.2 基本功训练2——设置窗体在屏幕中的位置254
8.4.3 基本功训练3——使窗体始终在桌面最顶层显示255
8.4.4 基本功训练4——根据桌面大小调整窗体大小256
8.4.5 基本功训练5——使背景图片自动适应窗体的大小256
8.5 情景应用——拓展与实践257
8.5.1 情景应用1——从上次关闭位置启动窗体257
8.5.2 情景应用2——自定义最大化、最小化和关闭按钮258
8.5.3 情景应用3——磁性窗体的设计261
8.5.4 情景应用4——制作鼠标穿透窗体270
8.5.5 情景应用5——窗体换肤程序270
8.6 自我测试273
8.7 行动指南274
8.8 成功可以复制——迅雷创始人邹胜龙274
第9堂课 Windows应用程序常用控件277
视频讲解:198分钟
9.1 控件概述278
9.1.1 浏览常用控件278
9.1.2 控件的分类及作用278
9.2 控件的相关操作279
9.2.1 添加控件279
9.2.2 对齐控件280
9.2.3 锁定控件280
9.2.4 删除控件280
9.3 文本类控件280
9.3.1 标签控件280
9.3.2 按钮控件281
9.3.3 文本框控件282
9.3.4 有格式文本控件284
9.4 选择类控件286
9.4.1 下拉组合框控件286
9.4.2 复选框控件287
9.4.3 单选按钮控件289
9.4.4 数值选择控件290
9.4.5 列表控件291
9.5 分组控件293
9.5.1 容器控件293
9.5.2 分组框控件294
9.5.3 选项卡控件295
9.6 对话框控件297
9.6.1 对话框概述297
9.6.2 打开对话框297
9.6.3 另存为对话框298
9.6.4 浏览文件夹对话框299
9.7 菜单、工具栏和状态栏控件300
9.7.1 菜单控件300
9.7.2 工具栏控件301
9.7.3 状态栏控件302
9.8 照猫画虎——基本功训练303
9.8.1 基本功训练1——在ComboBox下拉列表中显示图片303
9.8.2 基本功训练2——实现带查询功能的ComboBox控件304
9.8.3 基本功训练3——在RichTextBox控件中实现关键字描红305
9.8.4 基本功训练4——对ListBox控件中的数据进行排序306
9.8.5 基本功训练5——具有提示功能的工具栏306
9.9 情景应用——拓展与实践307
9.9.1 情景应用1——只允许输入数字的TextBox控件307
9.9.2 情景应用2——判断注册用户操作权限308
9.9.3 情景应用3——实现类似Word的项目编号功能309
9.9.4 情景应用4——制作带历史信息的菜单310
9.9.5 情景应用5——制作仿XP系统的任务栏菜单311
9.10 自我测试312
9.11 行动指南313
9.12 成功可以复制——前微软CEO
比尔·盖茨314
第10堂课 Windows应用程序高级控件317
视频讲解:170分钟
10.1 存储图像控件318
10.1.1 在ImageList控件中添加图像318
10.1.2 在ImageList控件中移除图像319
10.2 列表视图控件320
10.2.1 在ListView控件中添加移除项320
10.2.2 选择ListView控件中的项322
10.2.3 为ListView控件中的项添加图标323
10.2.4 在ListView控件中启用平铺视图324
10.3 树控件324
10.3.1 添加和删除树节点325
10.3.2 获取树控件中选中的节点326
10.3.3 为树控件中的节点设置图标327
10.4 日期控件328
10.4.1 使用DateTimePicker控件显示时间328
10.4.2 使用DateTimePicker控件以自定义格式显示日期329
10.4.3 返回DateTimePicker控件中选择的日期330
10.5 月历控件331
10.5.1 在MonthCalendar控件中以粗体显示特定日期331
10.5.2 在MonthCalendar控件中选择日期范围332
10.6 其他高级控件332
10.6.1 使用ErrorProvider控件验证文本框输入333
10.6.2 使用HelpProvider控件调用帮助文件334
10.6.3 使用Timer控件设置时间间隔335
10.6.4 使用ProgressBar控件显示程序运行进度条336
10.7 照猫画虎——基本功训练337
10.7.1 基本功训练1——在列表视图中拖动视图项337
10.7.2 基本功训练2——制作带复选框的ListView控件338
10.7.3 基本功训练3——使用MaskedTextBox控件实现输入验证339
10.7.4 基本功训练4——使用Timer组件实现人物动画效果340
10.7.5 基本功训练5——使用ErrorProvider组件验证文本框输入340
10.8 情景应用——拓展与实践341
10.8.1 情景应用1——使用TreeView控件遍历磁盘目录341
10.8.2 情景应用2——用树型列表动态显示菜单343
10.8.3 情景应用3——设计一个电子万年历344
10.8.4 情景应用4——制作一个闹钟计时器345
10.8.5 情景应用5——弹出模式窗口显示进度条346
10.9 自我测试348
10.10 行动指南349
10.11 成功可以复制——图文世界的缔造者约翰·沃洛克349
第11堂课 ADO.NET数据访问技术351
视频讲解:151分钟
11.1 ADO.NET概述352
11.2 使用Connection对象连接数据库352
11.2.1 Connection对象概述352
11.2.2 连接数据库352
11.2.3 关闭连接353
11.3 使用Command对象执行SQL语句355
11.3.1 Command对象概述355
11.3.2 设置数据源类型356
11.3.3 执行SQL语句357
11.4 使用DataReader对象读取数据359
11.4.1 DataReader对象概述359
11.4.2 判断查询结果中是否有值359
11.4.3 读取数据360
11.5 数据适配器:DataAdapter对象361
11.5.1 DataAdapter对象概述361
11.5.2 填充DataSet数据集361
11.5.3 更新数据源362
11.6 数据集:DataSet对象363
11.6.1 DataSet对象概述363
11.6.2 合并DataSet内容364
11.6.3 复制DataSet内容365
11.7 照猫画虎——基本功训练366
11.7.1 基本功训练1——连接加密的Access数据库366
11.7.2 基本功训练2——连接文本文件并显示其内容367
11.7.3 基本功训练3——读取SQL Server数据库结构368
11.7.4 基本功训练4——备份指定的SQL Server数据库369
11.7.5 基本功训练5——判断计算机中是否安装了SQL软件370
11.8 情景应用——拓展与实践371
11.8.1 情景应用1——向SQL Server数据库中批量写入海量数据371
11.8.2 情景应用2——使用断开式连接批量更新数据库中数据373
11.8.3 情景应用3——综合查询职工详细信息374
11.8.4 情景应用4——使用二进制存取用户头像376
11.8.5 情景应用5——使用存储过程实现员工自动编号378
11.9 自我测试380
11.10 行动指南380
11.11 成功可以复制——微型博客Twitter创始人埃文·威廉姆斯381
第12堂课 DataGridView数据控件383
视频讲解:103分钟
12.1 DataGridView控件概述384
12.2 在DataGridView控件中显示数据384
12.3 获取DataGridView控件中的当前单元格385
12.4 在DataGridView控件中修改数据386
12.5 选中DataGridView控件中的行时显示不同颜色387
12.6 禁止在DataGridView控件中添加和删除行389
12.7 禁用DataGridView控件的自动排序功能389
12.8 合并DataGridView控件中的单元格390
12.9 照猫画虎——基本功训练392
12.9.1 基本功训练1——设置DataGridView控件中网格线的样式392
12.9.2 基本功训练2——在DataGridView控件中设置数据显示格式392
12.9.3 基本功训练3——设置DataGridView控件单元格的文本对齐方式393
12.9.4 基本功训练4——在DataGridView控件中实现下拉列表394
12.9.5 基本功训练5——为DataGridView控件实现复选功能395
12.10 情景应用——拓展与实践396
12.10.1 情景应用1——在DataGridView控件中验证数据输入396
12.10.2 情景应用2——在DataGridView控件中添加“合计”和“平均值”396
12.10.3 情景应用3——使用交叉表实现商品销售统计398
12.10.4 情景应用4——将DataGridView中数据导出到Word399
12.10.5 情景应用5——通过DataGridView分页查看用户信息401
12.11 自我测试403
12.12 行动指南404
12.13 成功可以复制——因特网的点火人马克·安德森405
第3部分 高级篇
第13堂课 面向对象编程高级技术409
视频讲解:100分钟
13.1 接口的声明及实现410
13.1.1 接口概述410
13.1.2 接口的声明410
13.1.3 接口的实现与继承411
13.1.4 显式接口成员实现412
13.2 抽象类的声明及使用413
13.2.1 抽象类概述413
13.2.2 抽象类的声明414
13.2.3 抽象方法的声明414
13.2.4 抽象类的使用414
13.2.5 抽象类与接口416
13.3 密封类的声明及使用416
13.3.1 密封类概述416
13.3.2 密封类的声明416
13.3.3 密封方法的声明417
13.3.4 密封类的使用418
13.4 照猫画虎——基本功训练419
13.4.1 基本功训练1——自定义抽象类计算圆形的面积419
13.4.2 基本功训练2——利用接口实现选择不同的语言420
13.4.3 基本功训练3——使用接口作为方法参数进行编程421
13.4.4 基本功训练4——通过重写虚方法实现加法运算422
13.4.5 基本功训练5——使用多重继承实现教师和学生信息的输出422
13.5 情景应用——拓展与实践424
13.5.1 情景应用1——使用迭代器显示公交车站点424
13.5.2 情景应用2——通过迭代器实现文字的动态效果425
13.5.3 情景应用3——使用分部类实现多种计算方法427
13.5.4 情景应用4——通过继承泛型类实现输出学生信息428
13.5.5 情景应用5——使用密封类密封用户信息429
13.6 自我测试430
13.7 行动指南431
13.8 成功可以复制——征途巨人史玉柱432
第14堂课 LINQ技术的使用435
视频讲解:124分钟
14.1 LINQ基础436
14.1.1 LINQ概述436
14.1.2 使用var创建隐型局部变量436
14.1.3 Lambda表达式的使用437
14.1.4 LINQ查询表达式438
14.2 LINQ操作SQL Server数据库439
14.2.1 使用LINQ查询SQL Server数据库439
14.2.2 使用LINQ管理SQL Server数据库443
14.3 LINQ操作其他数据449
14.3.1 使用LINQ操作数组和集合449
14.3.2 使用LINQ操作DataSet数据集450
14.3.3 使用LINQ操作XML451
14.4 照猫画虎——基本功训练454
14.4.1 基本功训练1——检查序列中是否包含指定元素454
14.4.2 基本功训练2——使用LINQ生成随机序列455
14.4.3 基本功训练3——统计每种商品的销售次数456
14.4.4 基本功训练4——统计每种商品的销售均价457
14.4.5 基本功训练5——获取有过返货记录的商品列表457
14.5 情景应用——拓展与实践458
14.5.1 情景应用1——使用存储过程查询单表数据458
14.5.2 情景应用2——使用LINQ技术防止SQL注入式攻击459
14.5.3 情景应用3——使用LINQ技术实现数据分页460
14.5.4 情景应用4——从头开始提取满足指定条件的记录462
14.5.5 情景应用5——读取XML文件并更新到数据库463
14.6 自我测试464
14.7 行动指南465
14.8 成功可以复制——中国通信设备行业的领跑者任正非466
第15堂课 文件及IO469
视频讲解:171分钟
15.1 文件操作基础470
15.1.1 File类和FileInfo类介绍470
15.1.2 Directory类和DirectoryInfo类介绍472
15.2 文件基本操作475
15.2.1 判断文件是否存在475
15.2.2 创建文件475
15.2.3 复制文件476
15.2.4 移动文件477
15.2.5 删除文件477
15.3 文件夹基本操作478
15.3.1 判断文件夹是否存在478
15.3.2 创建文件夹478
15.3.3 移动文件夹479
15.3.4 删除文件夹479
15.4 I/O输入输出480
15.4.1 流概述480
15.4.2 文件I/O流介绍481
15.4.3 使用I/O流操作文本文件482
15.4.4 使用I/O流操作二进制文件484
15.5 照猫画虎——基本功训练486
15.5.1 基本功训练1——获取文件基本信息486
15.5.2 基本功训练2——遍历文件夹487
15.5.3 基本功训练3——使用C#操作INI文件488
15.5.4 基本功训练4——按行读取文本文件中数据489
15.5.5 基本功训练5——获取指定文件夹的上级目录490
15.6 情景应用——拓展与实践490
15.6.1 情景应用1——根据日期动态建立文件490
15.6.2 情景应用2——文件批量更名491
15.6.3 情景应用3——复制文件时显示复制进度492
15.6.4 情景应用4——伪装文件夹494
15.6.5 情景应用5——对指定文件夹中的文件进行分类存储496
15.7 自我测试497
15.8 行动指南498
15.9 成功可以复制——中国网络游戏产业的领军人陈天桥499
第16堂课 GDI+绘图技术501
视频讲解:145分钟
16.1 GDI+绘图基础502
16.1.1 GDI+概述502
16.1.2 创建Graphics对象502
16.1.3 创建Pen对象503
16.1.4 创建Brush对象503
16.2 基本图形绘制504
16.2.1 绘制直线和矩形505
16.2.2 绘制椭圆、弧和扇形506
16.2.3 绘制多边形508
16.2.4 绘制文本509
16.2.5 绘制图形510
16.3 照猫画虎——基本功训练510
16.3.1 基本功训练1——绘制公章510
16.3.2 基本功训练2——波形图的绘制512
16.3.3 基本功训练3——生成图片缩略图513
16.3.4 基本功训练4——以任意角度旋转图像514
16.3.5 基本功训练5——浮雕效果显示图像515
16.4 情景应用——拓展与实践516
16.4.1 情景应用1——绘制中文验证码516
16.4.2 情景应用2——批量图像格式转换517
16.4.3 情景应用3——抓取网站整页面520
16.4.4 情景应用4——批量添加图片水印523
16.4.5 情景应用5——打造自己的开心农场527
16.5 自我测试530
16.6 行动指南531
16.7 成功可以复制——“盖茨第二”
马克·扎克伯格531
第17堂课 水晶报表与打印533
视频讲解:137分钟
17.1 认识水晶报表534
17.1.1 水晶报表概述534
17.1.2 水晶报表工作区介绍534
17.2 水晶报表数据源和数据访问模式535
17.2.1 Visual Studio 2008中水晶报表数据源列举535
17.2.2 水晶报表的数据访问模式535
17.3 水晶报表基本操作536
17.3.1 创建水晶报表并连接数据源536
17.3.2 水晶报表中数据的分组与排序538
17.3.3 水晶报表中数据的筛选540
17.3.4 在水晶报表中使用图表542
17.3.5 在水晶报表中创建子报表543
17.4 Windows打印组件的使用545
17.4.1 使用PageSetupDialog组件设置打印文档信息545
17.4.2 使用PrintDialog组件显示打印对话框546
17.4.3 使用PrintDocument组件设置打印文档547
17.4.4 使用PrintPreviewControl组件设置打印预览文档548
17.4.5 使用PrintPreviewDialog组件显示打印预览549
17.5 照猫画虎——基本功训练549
17.5.1 基本功训练1——自定义横向打印549
17.5.2 基本功训练2——自定义打印页码范围551
17.5.3 基本功训练3——打印商品入库单据556
17.5.4 基本功训练4——使图片成为整个报表的背景557
17.5.5 基本功训练5——设置水晶报表的打印日期与时间558
17.6 情景应用——拓展与实践560
17.6.1 情景应用1——打印学生个人简历560
17.6.2 情景应用2——批量打印学生证书561
17.6.3 情景应用3——订货总金额超过10万元显示“恭喜获奖”文字564
17.6.4 情景应用4——部门销售量占公司总销售量的业绩百分比566
17.6.5 情景应用5——按类别分组统计图书库存567
17.7 自我测试568
17.8 行动指南569
17.9 成功可以复制——3D王国的开创者约翰·沃克569
第18堂课 网络编程571
视频讲解:152分钟
18.1 计算机网络基础572
18.1.1 局域网与因特网介绍572
18.1.2 网络协议介绍572
18.1.3 端口及套接字介绍574
18.2 网络编程基础575
18.2.1 System.NET命名空间及相关类的使用575
18.2.2 System.NET.Sockets命名空间及相关类的使用580
18.2.3 System.NET.Mail命名空间及相关类的使用585
18.3 照猫画虎——基本功训练587
18.3.1 基本功训练1——通过IP地址获取主机名称587
18.3.2 基本功训练2——得到本机MAC地址588
18.3.3 基本功训练3——获取网络中所有工作组名称588
18.3.4 基本功训练4——获取网络中某台计算机的磁盘信息589
18.3.5 基本功训练5——编程实现Ping操作590
18.4 情景应用——拓展与实践591
18.4.1 情景应用1——获取网络信息及流量591
18.4.2 情景应用2——远程关闭与重启计算机593
18.4.3 情景应用3——创建Web页面浏览器594
18.4.4 情景应用4——设计点对点聊天程序595
18.4.5 情景应用5——电子邮件的发送与接收596
18.5 自我测试598
18.6 行动指南598
18.7 成功可以复制——80后新贵、
泡泡网CEO李想599
第19堂课 线程的使用601
视频讲解:142分钟
19.1 线程概述602
19.1.1 线程的定义与分类602
19.1.2 多线程的使用603
19.1.3 线程的生命周期603
19.2 C#中的线程类Thread604
19.3 线程调度606
19.3.1 创建线程606
19.3.2 线程的挂起与恢复607
19.3.3 线程休眠608
19.3.4 终止线程608
19.3.5 线程的优先级609
19.4 线程同步611
19.4.1 线程同步机制611
19.4.2 使用lock关键字实现线程同步611
19.4.3 使用Monitor驱动对象实现线程同步612
19.4.4 使用Mutex类实现线程同步613
19.5 照猫画虎——基本功训练615
19.5.1 基本功训练1——判断线程的运行状态615
19.5.2 基本功训练2——使用线程遍历文件夹615
19.5.3 基本功训练3——使用线程休眠控制图片以百叶窗效果显示616
19.5.4 基本功训练4——使用线程读取数据库中的数据618
19.5.5 基本功训练5——使用线程实现大容量数据的计算618
19.6 情景应用——拓展与实践619
19.6.1 情景应用1——使用线程扫描局域网IP地址619
19.6.2 情景应用2——使用线程制作小游戏621
19.6.3 情景应用3——有进度条的文件异步复制功能622
19.6.4 情景应用4——使用线程控制向窗体中拖放图片并显示624
19.6.5 情景应用5——使用多线程制作端口扫描工具625
19.7 自我测试626
19.8 行动指南627
19.9 成功可以复制——IT“大王”王志东627
第20堂课 异常处理与程序调试629
视频讲解:30分钟
20.1 异常处理与程序调试概述630
20.2 异常处理语句的使用630
20.2.1 使用throw语句抛出异常630
20.2.2 使用try…catch语句捕捉异常632
20.2.3 使用try…catch…finally语句捕捉异常633
20.3 常用的程序调试操作634
20.3.1 断点操作634
20.3.2 开始、中断和停止程序的执行635
20.3.3 单步执行636
20.3.4 运行到指定位置637
20.4 成功可以复制——IT风云人物鲍岳桥637
第21堂课 Windows应用程序打包部署639
视频讲解:14分钟
21.1 Windows Installer介绍640
21.2 创建Windows安装项目640
21.3 制作Windows安装程序641
21.3.1 添加项目输出641
21.3.2 添加内容文件642
21.3.3 创建桌面快捷方式643
21.3.4 添加注册表项644
21.3.5 生成Windows安装程序646
21.4 部署Windows应用程序646
21.5 成功可以复制——暴雪公司的领航者迈克·莫汉647
第4部分 实战篇
第22堂课 企业人事管理系统651
视频讲解:150分钟
22.1 系统分析652
22.1.1 需求分析652
22.1.2 可行性分析652
22.1.3 编写项目计划书653
22.2 系统设计654
22.2.1 系统目标654
22.2.2 系统功能结构655
22.2.3 系统业务流程图655
22.2.4 系统编码规范656
22.3 系统运行环境656
22.4 数据库与数据表设计656
22.4.1 数据库分析657
22.4.2 创建数据库657
22.4.3 创建数据表659
22.4.4 数据表逻辑关系663
22.5 创建项目664
22.6 公共类设计665
22.6.1 MyMeans公共类665
22.6.2 MyModule公共类667
22.7 登录模块设计679
22.7.1 设计登录窗体680
22.7.2 按回车键时移动鼠标焦点680
22.7.3 登录功能的实现680
22.8 系统主窗体设计681
22.8.1 设计菜单栏682
22.8.2 设计工具栏683
22.8.3 设计导航菜单684
22.8.4 设计状态栏684
22.9 人事档案管理模块设计685
22.9.1 设计人事档案管理窗体686
22.9.2 添加/修改人事档案信息688
22.9.3 删除人事档案信息690
22.9.4 单条件查询人事档案信息690
22.9.5 逐条查看人事档案信息692
22.9.6 将人事档案信息导出为Word文档694
22.10 人事资料查询模块设计698
22.10.1 设计人事资料查询窗体699
22.10.2 多条件查询人事资料700
22.11 通讯录模块设计700
22.11.1 设计通讯录窗体701
22.11.2 添加/修改通讯录信息701
22.11.3 删除通讯录信息703
22.11.4 查询通讯录信息704
22.12 用户设置模块设计704
22.12.1 设计用户设置窗体705
22.12.2 添加/修改用户信息705
22.12.3 删除用户基本信息707
22.12.4 设置用户操作权限707
22.13 数据库维护模块设计708
22.13.1 设计数据库维护窗体708
22.13.2 备份数据库709
22.13.3 还原数据库709
22.14 运行项目711
22.15 系统打包部署712
22.16 开发常见问题与解决715
22.16.1 程序为什么会无法运行715
22.16.2 为什么无法添加职工基本信息716
22.16.3 选择职工头像时出现异常怎么办717
22.16.4 数据库还原不成功应该如何解决717
22.16.5 出现Word引用问题怎么办717
22.16.6 COM选项卡中没有Word 9.0引用怎么办718
22.16.7 为什么使用全名声明Word对象后还出现错误718
22.17 小结722
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印制成本大幅上涨,为不增加读者朋
友的负担,又不减少书的内容,本书以下章节内容不得不放在配书光盘中,由此
给您带来了不便,在此深表歉意。
第23堂课 房屋中介管理系统723
视频讲解:11分钟
(本章内容在配书光盘中)
23.1 系统分析724
23.2 系统设计724
23.2.1 系统目标724
23.2.2 系统功能结构图724
23.2.3 系统业务流程图725
23.3 系统运行环境725
23.4 数据库与数据表设计725
23.4.1 数据库分析725
23.4.2 数据表设计726
23.4.3 视图设计728
23.4.4 存储过程设计729
23.4.5 触发器设计731
23.5 创建项目732
23.6 公共类设计733
23.7 系统主窗体设计733
23.8 用户信息管理模块设计733
23.9 房源信息设置模块设计734
23.10 房源信息查询模块设计734
23.11 房源状态查询模块设计735
23.12 员工信息设置模块设计735
23.13 小结736
第24堂课 进销存管理系统737
视频讲解:13分钟
(本章内容在配书光盘中)
24.1 系统分析738
24.2 系统设计738
24.2.1 系统目标738
24.2.2 系统功能结构图738
24.2.3 系统业务流程图739
24.3 系统运行环境739
24.4 数据库与数据表设计739
24.4.1 数据库分析740
24.4.2 数据表设计740
24.4.3 数据表逻辑关系742
24.5 创建项目743
24.6 公共类设计744
24.7 登录模块设计744
24.8 系统主窗体设计744
24.9 基础数据管理模块设计745
24.10 进货管理模块设计745
24.11 商品销售排行模块设计746
24.12 库存状况管理模块设计746
24.13 库存盘点模块设计747
24.14 小结747
附录A C#程序编码规范749
(本章内容在配书光盘中)
A.1 命名规则749
A.1.1 数据类型简写规则749
A.1.2 变量及对象名称命名规则749
A.1.3 类命名规则750
A.1.4 属性命名规则750
A.1.5 方法命名规则750
A.1.6 接口命名规则750
A.1.7 控件命名规则751
A.2 代码版式751
A.2.1 统一代码缩进751
A.2.2 合理使用空行751
A.2.3 代码换行752
A.2.4 空格的使用752
A.3 代码注释752
A.3.1 注释的目的752
A.3.2 代码注释规范752
A.4 数据库编程命名规范753
A.4.1 数据库命名规范753
A.4.2 数据表命名规范753
A.4.3 字段命名规范753
A.4.4 视图命名规范753
A.4.5 存储过程命名规范754
A.4.6 触发器命名规范754