图书介绍
学通C#的24堂课PDF|Epub|txt|kindle电子书版本网盘下载
![学通C#的24堂课](https://www.shukui.net/cover/68/34618340.jpg)
- 王小科,赵会东等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302255437
- 出版时间:2011
- 标注页数:722页
- 文件大小:217MB
- 文件页数:742页
- 主题词:C语言-程序设计
PDF下载
下载说明
学通C#的24堂课PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 基础篇3
第1堂课 初探C#及其开发环境3
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
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
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
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
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
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基本功训11练1——计算1+2 2+3 3+4 4+…+n n的值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
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部分 提高篇241
第8堂课 Windows窗体设计241
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
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
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
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——备份指定的SQLServer数据库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
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部分 高级篇409
第13堂课 面向对象编程高级技术409
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
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
15.1文件操作基础470
15.1.1 File类和FileInfo类介绍470
15.1.2 Directoy类和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
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
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
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
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
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
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部分 实战篇651
第22堂课 企业人事管理系统651
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
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
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