C#编程宝典
本书是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用C#进行程序开发的各种技术和技巧。全书分4篇,共24章。
目录
图书信息内容简介图书目录
图书信息书名:C#编程宝典(十年典藏版)(1DVD)
出版社:人民邮电出版社
ISBN:978-7-115-23247-2
出版时间:2010-11-01
作者:明日科技 王小科 王军 赵会东
定价:89元
内容简介第1篇为技能学习篇,主要包括做好C#程序开发前期准备、掌握C#语言基础之数据类型与变量、领略运算符和表达式带给我们的神奇、巧用流程控制语句、算法、字符串、数组、步入面向对象程序设计的殿堂、使用Windows窗体搭建交互式图形界面、你所必须知道的Windows控件、掌握能够辅助程序开发的Windows控件、数据库管理系统开发必备、LINQ数据访问技术、程序调试与错误处理、打包部署等内容;第2篇为范例演练篇,主要包括基础应用相关、数据库开发相关、图形图像及多媒体应用、WPF图形化显示系统等相关的范例;第3篇为项目实战篇,主要包括明日快递单打印系统、QQ自动登录器、雷速网络下载专家、编程词典销售分析系统等4个小型项目;第4篇为商业系统篇,主要介绍一个大型的商业项目,即企业ERP管理系统(C/S架构)。
本书附有配套DVD光盘,光盘中提供了书中全部实例和项目的源代码,这些源代码全部经过精心调试,能够在Windows XP、Windows Server 2003以及Windows 7操作系统下编译和运行。
本书适用于C#的初学者、编程爱好者,同时也可以作为培训机构、大中专院校老师和学生的学习参考用书。
图书目录第1篇登堂入室——技能学习篇
第1章厉兵秣马——做好C#程序开发前期准备
15个编程技术要点
5个编程技巧说明
5个编程注意事项
2个实例应用详解
1.1本章学习任务3
1.1.1本章知识体系3
1.1.2带着任务往下学3
1.2追溯C#发展历史4
1.2.1谈古论今——C#发展历程4
1.2.2C#语言特点5
1.2.3C#与.NET的关系5
1.3熟悉.NET Framework三大核心6
1.3.1决胜千里——公共语言运行库6
1.3.2与众不同——.NET程序编译6
1.3.3充分交流——通用类型系统7
1.4掌握C#开发利器——Visual Studio 20088
1.4.1系统必备8
1.4.2安装Visual Studio 20088
1.4.3卸载Visual Studio 200811
1.4.4熟悉Visual Studio 2008开发环境12
1.5使用MSDN辅助编程17
1.5.1安装帮助文档——MSDN17
1.5.2使用MSDN19
1.5.3常用的C#编程帮助网站20
1.63种经典应用程序的创建21
1.6.1创建第一个控制台应用程序21
1.6.2创建第一个Windows窗体应用程序23
1.6.3创建第一个Web网站应用程序24
1.7实战检验25
1.7.1设置Visual Studio 2008开发环境中显示代码行号25
1.7.2如何中断正在运行的程序25
1.8疑难解惑26
1.8.1C#和.NET有什么关系26
1.8.2Visual Studio 2008安装不上26
1.8.3如何下载MSDN附带的示例27
1.9精彩回顾28
第2章掌握C#语言基础之数据类型与变量
9个编程技术要点
10个编程技巧说明
7个编程注意事项
24个实例应用详解
2.1本章学习任务30
2.1.1本章知识体系30
2.1.2带着任务往下学30
2.2常用数据类型解析31
2.2.1值类型——不能没有你31
2.2.2引用类型——世界因你而精采37
2.3程序开发最常用的武器——变量39
2.3.1变量的命名规则与惯例40
2.3.2数据类型与变量41
2.3.3变量的声明与赋值42
2.3.4永恒不变——定义及使用常量45
2.3.5变量的作用域和生存周期46
2.4实战检验48
2.4.1计算圆的面积48
2.4.2计算长方形的面积49
2.4.3计算个人工资50
2.5疑难解惑50
2.5.1WriteLine和ReadLine方法我还有点不明白50
2.5.2怎样发现变量在运算时溢出51
2.6精彩回顾51
第3章领略运算符和表达式带给我们的神奇
15个编程技术要点
10个编程技巧说明
6个编程注意事项
36个实例应用详解
3.1本章学习任务53
3.1.1本章知识体系53
3.1.2带着任务往下学53
3.2认识运算符和表达式53
3.2.1什么是运算符53
3.2.2什么是表达式54
3.3你必须掌握的几种运算符54
3.3.1无处不在的赋值运算符54
3.3.2重温算术运算符56
3.3.3一起学习比较运算符60
3.3.4为什么要使用逻辑运算符63
3.4运算符之“特殊问题特殊对待”65
3.4.1什么是自增/自减运算符65
3.4.2学会使用位运算符67
3.4.3短小精悍——三元运算符68
3.5让运算符的运算顺序如你所愿69
3.5.1层次分明——运算符的优先级69
3.5.2争先恐后——逻辑运算符的优先级70
3.5.3自有定数——使用小括号来得到正确的表达式70
3.6实战检验71
3.6.1制作简单计算器71
3.6.2输入数字比大小72
3.7疑难解惑72
3.7.1自增/自减运算符我还是有点不明白72
3.7.2三元运算符都用在哪里呢73
3.7.3表达式中加入小括号有什么好处73
3.8精彩回顾73
第4章峰回路转——巧用流程控制语句
17个编程技术要点
10个编程技巧说明
6个编程注意事项
24个实例应用详解
4.1本章学习任务75
4.1.1本章知识体系75
4.1.2带着任务往下学75
4.2流程控制76
4.2.1流程控制的体现——语句76
4.2.2语句的构成76
4.2.3复合语句76
4.3判断-条件-结果,你熟悉吗77
4.3.1使用if条件判断语句77
4.3.2学会使用switch语句80
4.3.3两种判断语句各自的适用场合83
4.4循环来了,你准备好了吗85
4.4.1必须掌握的while循环语句85
4.4.2学会使用do while循环语句86
4.5强大的for家族88
4.5.1for语句——撑起循环半边天88
4.5.2遍历好帮手——foreach语句90
4.6让跳转语句告诉你:没有不可能91
4.6.1continue语句——跳出本次循环91
4.6.2break语句——跳出当前循环体92
4.6.3用于返回数据的return语句93
4.6.4定点射击——goto语句94
4.7实战检验95
4.7.1猜数字小游戏95
4.7.2打造彩色控制台96
4.8疑难解惑97
4.8.1为什么不建议过多使用goto语句97
4.8.2关于return语句的问题97
4.8.3do while循环与while循环有什么不同吗97
4.9精彩回顾97
第5章程序开发的灵魂——算法
11个编程技术要点
5个编程技巧说明
4个编程注意事项
8个实例应用详解
5.1本章学习任务99
5.1.1本章知识体系99
5.1.2带着任务往下学99
5.2你了解算法吗101
5.2.1初识算法101
5.2.2描述算法的两种常用流程图101
5.3你应该掌握的常用算法103
5.3.1抛砖引玉——查找最大最小值103
5.3.2经典再现——杨辉三角算法的实现104
5.3.3争先恐后——冒泡排序法105
5.3.4峰回路转——插入排序法107
5.3.5我选择了你从不后悔——选择排序法108
5.3.6釜底抽薪——希尔排序法109
5.4实战检验111
5.4.1迷你星座查询器的实现111
5.4.2设计双色球彩票选号器115
5.5疑难解惑117
5.5.1传统流程图与N-S结构化流程图有何不同117
5.5.2为什么杨辉三角的表示形式不一样117
5.5.3如何选择适合自己的排序算法118
5.6精彩回顾118
第6章看似简单的字符串真就那么简单吗
18个编程技术要点
8个编程技巧说明
6个编程注意事项
25个实例应用详解
6.1本章学习任务120
6.1.1本章知识体系120
6.1.2带着任务往下学120
6.2让我们从字符开始学起121
6.2.1我很小,可是我很重要——Char结构121
6.2.2System.Char结构的成员121
6.2.3一种特殊的字符——转义字符123
6.3想知道字符串的具体含义吗125
6.4字符串有9种常用操作,你相信吗126
6.4.1互不相让——比较字符串126
6.4.2按部就班——格式化字符串128
6.4.3为我所用——截取字符串129
6.4.4一刀两断——分割字符串130
6.4.5见缝插针——插入字符串131
6.4.6钵满盒满——填充字符串131
6.4.7取之有道——删除字符串132
6.4.8推陈出新——复制字符串133
6.4.9移形幻影——替换字符串134
6.5深入学习可变字符串135
6.5.1高效率字符串对象操作——StringBuilder135
6.5.2我可以做些什么——StringBuilder的使用136
6.5.3string类与StringBuilder类的区别137
6.6实战检验138
6.6.1制作字符串加密/解密程序138
6.6.2正则表达式分解字符串程序的实现139
6.7疑难解惑140
6.7.1(char)8和‘8’有什么不同140
6.7.2如何区别0、空字符串、Null、Empty和Nothing140
6.7.3选择合适的方法比较字符串140
6.8精彩回顾140
第7章批量数据处理专家——数组
21个编程技术要点
13个编程技巧说明
8个编程注意事项
17个实例应用详解
7.1本章学习任务143
7.1.1本章知识体系143
7.1.2带着任务往下学143
7.2数组从何而来144
7.2.1为什么使用数组144
7.2.2什么是数组144
7.2.3数组用途之广144
7.3从最简单的一维数组开始学起145
7.3.1一维数组的创建——很轻松吧145
7.3.2怎样对一维数组进行初始化145
7.3.3如何遍历一维数组146
7.4想掌握二维以及多维数组吗,跟我来148
7.4.1创建二维数组148
7.4.2怎样对二维数组进行初始化150
7.4.3学会遍历二维数组151
7.4.4解析多维数组152
7.4.5运用多维数组153
7.5原来数组有这么多操作154
7.5.1一个不留——清除数组内元素155
7.5.2合二为一——合并数组156
7.5.3化整为零——拆分数组157
7.5.4浅表副本——克隆数组157
7.5.5众里寻他千王朝——查找数组元素159
7.6告诉你一个不一样的ArrayList集合160
7.6.1强大的ArrayList160
7.6.2ArrayList成员160
7.6.3试试多强大——ArrayList的使用161
7.7实战检验161
7.7.1操作便捷的简单电话簿161
7.7.2设计一个简单客车售票记录程序162
7.8疑难解惑163
7.8.1遍历数组还有什么方法163
7.8.2清空ArrayList集合中元素的问题163
7.9精彩回顾164
第8章步入面向对象程序设计的殿堂
31个编程技术要点
12个编程技巧说明
14个编程注意事项
27个实例应用详解
8.1本章学习任务166
8.1.1本章知识体系166
8.1.2带着任务往下学166
8.2掌握面向对象编程的核心——类166
8.2.1设计图纸——类是什么166
8.2.2准备设计图纸——定义类167
8.2.3根据类型来得到对象——类的使用167
8.2.4对象的生成——对象构造器169
8.2.5对象的释放——对象析构器172
8.3对象的状态和行为——字段、方法和属性172
8.3.1对象的状态——字段172
8.3.2怎样定义字段173
8.3.3如何定义方法173
8.3.4方法的使用174
8.3.5方法的重载175
8.3.6字段的封装——什么是属性176
8.3.7如何使用属性来封装字段177
8.3.8对集合的封装——索引器179
8.4面向对象编程特性之继承180
8.4.1继承——代码的重用180
8.4.2如何使用继承181
8.5你来我往——详解数据类型之间的转换182
8.5.1表里如一——隐式类型转换182
8.5.2循规蹈矩——显式类型转换184
8.5.3值类型的装箱和拆箱185
8.6可以被重写的方法——虚方法186
8.6.1如何定义虚方法186
8.6.2override重写虚方法187
8.7千变万化——抽象类188
8.7.1什么是抽象类188
8.7.2如何使用抽象类189
8.8功能的定义——接口190
8.8.1雾里看花————接口是什么190
8.8.2如何使用接口191
8.8.3一石二鸟——隐式实现接口192
8.8.4用心专一——显式实现接口192
8.9面向对象编程特性之——多态193
8.9.1什么是多态193
8.9.2怎样使用多态特性193
8.10实战检验195
8.10.1制作简单计时器195
8.10.2使用面向对象的思想计算圆及正方形周长195
8.11疑难解惑197
8.11.1关于属性和索引器的使用197
8.11.2装箱和拆箱操作为什么叫做“值类型的装箱和拆箱”197
8.11.3关于接口的问题197
8.12精彩回顾197
第9章使用Windows窗体搭建交互式图形界面
17个编程技术要点
10个编程技巧说明
8个编程注意事项
8个实例应用详解
9.1本章学习任务200
9.1.1本章知识体系200
9.1.2带着任务往下学200
9.2告诉你什么是Windows窗体201
9.2.1窗体的介绍201
9.2.2创建Windows窗体应用程序202
9.3Windows窗体的常见操作205
9.3.1窗体的最大化、最小化和正常大小205
9.3.2顶层窗体——控制窗体总在最前面205
9.3.3多姿多彩——更改窗体背景图片或颜色206
9.3.4看不清我吧——窗体的透明度207
9.3.5我可以隐身的哦——窗体的显示和隐藏207
9.4在一个窗体中装载多个窗体,很神奇吧208
9.4.1多文档窗体——让文档更有条理208
9.4.2建立多文档窗体209
9.4.3快来试一试——简单的多文档小程序210
9.5用最快的速度制作两个一模一样的窗体212
9.5.1定义基窗体212
9.5.2新建窗体并继承于基窗体212
9.5.3真的很神奇——有效使用继承窗体215
9.6实战检验216
9.6.1制作启动欢迎窗体216
9.6.2设计图形窗体217
9.7疑难解惑218
9.7.1项目编译之后的.pdb文件有何用处218
9.7.2MDI主窗体中的背景为何呈现灰色219
9.7.3创建继承窗体的两种方法有什么区别219
9.7.4区别Modifiers属性的3种访问修饰符219
9.8精彩回顾219
第10章你所必须知道的Windows控件
19个编程技术要点
7个编程技巧说明
4个编程注意事项
21个实例应用详解
10.1本章学习任务222
10.1.1本章知识体系222
10.1.2带着任务往下学222
10.2最简单、常用的文本类控件223
10.2.1窗体中的广告牌——标签控件223
10.2.2电子版的笔记本——文本框控件224
10.2.3一锤定音——按钮控件227
10.3选择数字、列表……,让选择类控件帮你实现229
10.3.1数字操作最佳工具——数字选择控件229
10.3.2唯一的选择——单选按钮230
10.3.3多重选择——必选复选框232
10.3.4编辑框和列表框的进化——组合框控件234
10.3.5存储字符串的盒子——列表控件236
10.3.6样式控制好帮手——列表视图控件238
10.3.7层次分明——树视图控件241
10.4控件大家族——分组类控件244
10.4.1带有标题框的分组——GroupBox244
10.4.2面板分组——Panel244
10.4.3选项卡面板分组——TabControl245
10.5天下三分——菜单、工具栏和状态栏247
10.5.1半数天下归于魏——菜单247
10.5.2民心向背在于蜀——工具栏249
10.5.3独树一帜当属吴——状态栏251
10.6实战检验252
10.6.1制作电子点菜系统252
10.6.2设计仿XP系统的任务栏菜单253
10.7疑难解惑255
10.7.1保持文本框的滚动条始终在最底端255
10.7.2如何对ListBox控件中的数据进行排序256
10.7.3在状态栏中实时显示当前系统时间256
10.8精彩回顾256
第11章掌握能够辅助程序开发的Windows控件
17个编程技术要点
8个编程技巧说明
5个编程注意事项
14个实例应用详解
11.1本章学习任务259
11.1.1本章知识体系259
11.1.2带着任务往下学259
11.2Windows系统中最常用的几种对话框260
11.2.1认识Windows消息对话框260
11.2.2如何找到文件的家——打开对话框263
11.2.3将文件存到何处——另存为对话框264
11.2.4确认文件的位置——浏览文件夹对话框265
11.2.5个性字体博览会——字体对话框266
11.2.6让世界充满颜色——颜色对话框267
11.3使用计时器方便地获取最新信息268
11.3.1认真守时——Timer组件268
11.3.2勤劳的小闹钟——Timer组件269
11.3.3鼠标哪里跑——Timer组件270
11.4漂亮的图片、好看的图标——图像控件帮你来存取271
11.4.1我型我秀——图像控件271
11.4.2画家的收藏夹——图像列表组件272
11.5想知道操作进度吗,那还不试试进度条控件273
11.5.1怎样使用进度条控件273
11.5.2Loading——以进度条驱散枯燥274
11.6实战检验275
11.6.1播放幻灯片的屏幕保护程序275
11.6.2飞舞的小蝴蝶动画效果的实现276
11.7疑难解惑278
11.7.1关于OpenFileDialog组件的问题278
11.7.2Timer组件的执行周期最大可以设计多长时间278
11.7.3ImageList中如果放入大图片会怎么样278
11.7.4ProgressBar控件的问题278
11.8精彩回顾278
第12章数据库管理系统开发必备
21个编程技术要点
7个编程技巧说明
5个编程注意事项
12个实例应用详解
12.1本章学习任务281
12.1.1本章知识体系281
12.1.2带着任务往下学281
12.2下面要介绍ADO·NET技术了,准备好了吗282
12.2.1ADO·NET简介282
12.2.2连接模式与非连接模式283
12.3我能连接数据库了——Connection对象283
12.3.1尝试前的准备——认识Connection对象283
12.3.2初次尝试——使用SqlConnection对象连接SQL Server 2005数据库285
12.4Command对象,执行SQL好帮手285
12.4.1认识Command对象286
12.4.2使用Command对象添加记录287
12.4.3使用Command对象删除记录288
12.4.4使用Command对象修改记录288
12.4.5使用Command对象查找记录289
12.5读取数据库中数据,就用DataReader对象290
12.5.1数据在这里——初识数据读取器290
12.5.2将数据库中的内容读出来——如何使用数据读取器290
12.6非连接模式不能知的DataSet与DataTable291
12.6.1内存中的数据库——DataSet291
12.6.2内存中的数据表——DataTable292
12.7功能强大的DataAdapter对象293
12.7.1认识数据适配器——DataAdapter对象294
12.7.2使用SqlDataAdapter对象填充DataSet数据集294
12.7.3使用SqlDataAdapter对象更新数据库中记录295
12.8用更方便的数据控件体现数据库操作295
12.8.1呈现数据我最强——DataGridView296
12.8.2一切都是这么轻松——DataGridView数据绑定296
12.9实战检验297
12.9.1制作个人通讯簿297
12.9.2设计个性影集程序300
12.10疑难解惑304
12.10.1使用SqlConnection对象连接数据库的问题304
12.10.2怎样取出DataReader中的数据呢?305
12.10.3什么是DataSet305
12.11精彩回顾305
第13章.NET 3.5神来之笔——LINQ数据访问技术
14个编程技术要点
15个编程技巧说明
5个编程注意事项
12个实例应用详解
13.1本章学习任务307
13.1.1本章知识体系307
13.1.2带着任务往下学307
13.2LINQ从何而来308
13.3.Net Framework 3.5——语言扩展309
13.3.1安全又方便——隐式类型局部变量310
13.3.2短小精悍——Lambda表达式311
13.4查询表达式对于LINQ有多重要312
13.4.1查询表达式312
13.4.2用from子句指定数据源313
13.4.3用where子句指定筛选条件314
13.4.4用select子句指定目标数据315
13.4.5用orderby子句进行排序315
13.5操作SQL数据库很简单,但你会用LINQ吗316
13.5.1创建LINQ实体类316
13.5.2执行数据的查询、添加、修改和删除操作319
13.6LINQ告诉你:操作任何数据都可以很方便324
13.6.1使用LINQ在数组中查询数据324
13.6.2使用LINQ操作XML文件325
13.7实战检验327
13.7.1LINQ防止SQL注入式攻击327
13.7.2使用LINQ实现数据分页328
13.8疑难解惑330
13.8.1如何使用LINQ生成随机序列330
13.8.2如何为LINQ实体类中的数据表设置主键330
13.8.3开发网站时有必要用到LINQ技术吗331
13.9精彩回顾331
第14章钟馗捉妖——程序调试与错误处理
12个编程技术要点
5个编程技巧说明
3个编程注意事项
4个实例应用详解
14.1本章学习任务334
14.1.1本章知识体系334
14.1.2带着任务往下学334
14.2“妖”之分类——常见的异常335
14.2.1千年小妖——语法错误335
14.2.2千年老妖——语义错误336
14.2.3千年老妖——逻辑错误336
14.3修练仙道——程序调试337
14.3.1仙术秘诀——设定断点337
14.3.2开始修练——调试断点338
14.3.3跨越险阻——中断执行340
14.3.4飞升成仙——停止执行340
14.4捉妖之术——C#中的最佳异常处理341
14.4.1使用try...catch语句捕获异常341
14.4.2使用try...catch...finally语句捕获异常342
14.5实战检验343
14.5.1制作捕获除数为零错误程序343
14.5.2制作捕获数据库连接错误程序344
14.6疑难解惑344
14.6.1如何区分程序中常见的3种异常344
14.6.2异常与Bug有什么区别345
14.6.3如何针对不同的异常进行捕捉345
14.7精彩回顾345
第15章Windows程序不可或缺的两个步骤——打包部署
8个编程技术要点
5个编程技巧说明
3个编程注意事项
3个实例应用详解
15.1本章学习任务347
15.1.1本章知识体系347
15.1.2带着任务往下学347
15.2Windows Installer,翻译成汉语看看348
15.3告诉你如何来创建Windows安装项目349
15.4原来制作Windows安装程序这么简单350
15.4.1添加项目输出350
15.4.2添加内容文件350
15.4.3创建桌面快捷方式351
15.4.4添加注册表项352
15.4.5生成Windows安装程序354
15.5用更容易的方式理解部署——安装354
15.6实战检验356
15.6.1打包程序时设置桌面图标356
15.6.2打包.NET Framework 3.5框架357
15.7疑难解惑359
15.7.1打包生成的.exe文件和.msi文件有何区别359
15.7.2常用的C#程序打包工具有哪些359
15.8精彩回顾359
第2篇小试牛刀——范例演练篇
第16章打好根基——基础应用相关
10个编程技术要点
4个编程技巧说明
2个编程注意事项
10个实例应用详解
16.1完美实用——金额大小写转换363
16.1.1范例功能演示363
16.1.2开发思路指引363
16.1.3专家难点解析363
16.1.4设计过程详解365
16.1.5范例开发手记367
16.1.6进阶与提高367
16.2衣着华丽——窗体更换皮肤368
16.2.1范例功能演示368
16.2.2开发思路指引368
17.2.3专家难点解析368
16.2.4设计过程详解369
16.2.5范例开发手记371
16.2.6进阶与提高372
16.3亦真亦幻——仿QQ抽屉式窗体372
16.3.1范例功能演示372
16.3.2开发思路指引373
16.3.3专家难点解析373
16.3.4设计过程详解374
16.3.5范例开发手记376
16.3.6进阶与提高377
16.4绚丽多彩——七彩复选框377
16.4.1范例功能演示377
16.4.2开发思路指引377
16.4.3专家难点解析378
16.4.4设计过程详解379
16.4.5范例开发手记380
16.4.6进阶与提高380
16.5鉴别真伪——身份证号码验证工具381
16.5.1范例功能演示381
16.5.2开发思路指引381
16.5.3专家难点解析382
16.5.4设计过程详解382
16.5.5范例开发手记384
16.5.6进阶与提高385
第17章开发必备——数据库开发相关
11个编程技术要点
6个编程技巧说明
4个编程注意事项
12个实例应用详解
17.1全能数据库连接器387
17.1.1范例功能演示387
17.1.2开发思路指引387
17.1.3专家难点解析388
17.1.4设计过程详解389
17.1.5范例开发手记391
17.1.6进阶与提高392
17.2多条件查询员工信息392
17.2.1范例功能演示392
17.2.2开发思路指引393
17.2.3专家难点解析393
17.2.4设计过程详解394
17.2.5范例开发手记396
17.2.6进阶与提高397
17.3使用断开式连接批量更新数据库中数据397
17.3.1范例功能演示397
17.3.2开发思路指引398
17.3.3专家难点解析398
17.3.4设计过程详解399
17.3.5范例开发手记400
17.3.6进阶与提高400
17.4将图片以二进制形式存入数据库400
17.4.1范例功能演示400
17.4.2开发思路指引401
17.4.3专家难点解析401
17.4.4设计过程详解402
17.4.5范例开发手记403
17.4.6进阶与提高404
17.5通过存储过程对员工信息进行管理405
17.5.1范例功能演示405
17.5.2开发思路指引405
17.5.3专家难点解析406
17.5.4设计过程详解407
17.5.5范例开发手记410
17.5.6进阶与提高411
17.6使用事务批量删除生产单信息412
17.6.1范例功能演示412
17.6.2开发思路指引413
17.6.3专家难点解析413
17.6.4设计过程详解413
17.6.5范例开发手记415
17.6.6进阶与提高415
第18章引领时尚——图形图像及多媒体应用
13个编程技术要点
3个编程技巧说明
2个编程注意事项
10个实例应用详解
18.1让画面更流畅——使用双缓冲技术绘图417
18.1.1范例功能演示417
18.1.2开发思路指引417
18.1.3专家难点解析417
18.1.4设计过程详解418
18.1.5范例开发手记419
18.1.6进阶与提高420
18.2画家的培养——画桃花420
18.2.1范例功能演示420
18.2.2开发思路指引421
18.2.3专家难点解析421
18.2.4设计过程详解422
18.2.5范例开发手记423
18.2.6进阶与提高423
18.3随心所欲——屏幕抓图424
18.3.1范例功能演示424
18.3.2开发思路指引424
18.3.3专家难点解析425
18.3.4设计过程详解426
18.3.5范例开发手记427
18.3.6进阶与提高428
18.4流行时尚——打造自己的开心农场428
18.4.1范例功能演示428
18.4.2开发思路指引429
18.4.3专家难点解析429
18.4.4设计过程详解430
18.4.5范例开发手记433
18.4.6进阶与提高433
18.5经典之作——MP3播放器434
18.5.1范例功能演示434
18.5.2开发思路指引434
18.5.3专家难点解析434
18.5.4设计过程详解435
18.5.5范例开发手记437
18.5.6进阶与提高438
第19章新品展示——WPF图形化显示系统
12个编程技术要点
11个编程技巧说明
6个编程注意事项
12个实例应用详解
19.1花样百出——两种图形有多少种组合方式440
19.1.1范例功能演示440
19.1.2开发思路指引440
19.1.3专家难点解析441
19.1.4设计过程详解442
19.1.5范例开发手记443
19.1.6进阶与提高443
19.2冲击视觉——实现Windows 7的Aero效果443
19.2.1范例功能演示443
19.2.2开发思路指引444
19.2.3专家难点解析444
19.2.4设计过程详解445
19.2.5范例开发手记447
19.2.6进阶与提高447
19.3雾里看花——图片的浮雕边缘效果448
19.3.1范例功能演示448
19.3.2开发思路指引448
19.3.3专家难点解析448
19.3.4设计过程详解449
19.3.5范例开发手记449
19.3.6进阶与提高450
19.4动感十足——旋转的立方体451
19.4.1范例功能演示451
19.4.2开发思路指引451
19.4.3专家难点解析452
19.4.4设计过程详解453
19.4.5范例开发手记455
19.4.6进阶与提高455
19.5如影随形——模拟车轮的滚动路径456
19.5.1范例功能演示456
19.5.2开发思路指引456
19.5.3专家难点解析457
19.5.4设计过程详解458
19.5.5范例开发手记460
19.5.6进阶与提高460
19.6精彩无限——使用WPF打造炫目视频播放器460
19.6.1范例功能演示460
19.6.2开发思路指引461
19.6.3专家难点解析461
19.6.4设计过程详解463
19.6.5范例开发手记465
19.6.6进阶与提高466
第3篇初露锋芒——项目实战篇
第20章明日快递单打印系统——单据打印系统模板
9个编程技术要点
2个编程技巧说明
3个编程注意事项
1个实例应用详解
20.1明日快递单打印系统概述469
20.1.1研发背景469
20.1.2需求分析469
20.1.3系统功能结构图469
20.2数据库设计470
20.2.1设计数据表结构470
20.2.2创建存储过程471
20.3技术准备472
20.3.1自定义控件472
20.3.2泛型的应用简介474
20.4主要功能模块设计475
20.4.1快递单设置设计475
20.4.2快递单打印设计482
20.4.3快递单查询设计486
20.5程序调试与错误处理492
20.5.1空引用异常调试492
20.5.2数组越界异常调试493
20.6开发总结494
20.6.1技术总结494
20.6.2经验总结495
第21章QQ自动登录器——方便你我他
11个编程技术要点
7个编程技巧说明
3个编程注意事项
1个实例应用详解
21.1QQ自动登录器概述497
21.1.1研发背景497
21.1.2需求分析497
21.1.3系统业务流程图497
21.1.4系统功能结构图497
21.2技术攻关498
21.2.1QQ自动登录器实现原理498
21.2.2使用MD5加密算法加密QQ密码498
21.2.3使用XML文件存储QQ账号信息499
21.3公共类设计500
21.3.1QQInfo类设计500
21.3.2QQRegister类设计501
21.3.3QQFilePath类设计502
21.4主要功能模块设计503
21.4.1QQ自动登录器主窗体设计503
21.4.2添加QQ账号模块设计509
21.4.3设置QQ程序路径模块设计511
21.5程序调试与错误处理513
21.5.1XML文件序列化失败513
21.5.2QQ账号和密码无法传递514
21.6开发总结514
21.6.1技术总结514
21.6.2经验总结515
第22章雷速网络下载专家——让你忘记迅雷
10个编程技术要点
7个编程技巧说明
3个编程注意事项
1个实例应用详解
22.1雷速网络下载专家概述517
22.1.1研发背景517
22.1.2需求分析517
22.1.3系统业务流程图517
22.1.4系统功能结构图518
22.2技术攻关518
22.2.1多线程下载实现原理518
22.2.2保存和读取续传信息520
22.2.3合并多线程下载文件520
22.3公共类设计521
22.3.1Locations类设计521
22.3.2DownLoad类设计522
22.3.3xuchuan类设计523
22.4主要功能模块设计524
22.4.1雷速主窗体设计524
22.4.2添加下载任务模块531
22.5程序调试与错误处理533
22.5.1无法连接到下载服务器533
22.5.2无法使用多线程下载资源534
22.6开发总结534
22.6.1技术总结534
22.6.2经验总结535
第23章编程词典销售分析系统——让用户了解我们
9个编程技术要点
2个编程技巧说明
2个编程注意事项
1个实例应用详解
23.1编程词典销售分析系统概述537
23.1.1研发背景537
23.1.2需求分析537
23.1.3系统功能结构图537
23.2数据库设计538
23.2.1主要数据表结构538
23.2.2创建视图541
23.2.3创建存储过程541
23.3技术准备542
23.3.1动态实例化窗体542
23.3.2可空类型的使用542
23.4主要功能模块设计543
23.4.1产品大类设计543
23.4.2代理登记设计546
23.4.3订货单设计551
23.4.4权限分配设计557
23.5程序调试与错误处理560
23.6开发总结561
23.6.1技术总结561
23.6.2经验总结562
第4篇挑战自我——商业系统篇
第24章企业ERP管理系统(C/S架构)
18个编程技术要点
18个编程技巧说明
8个编程注意事项
1个实例应用详解
24.1企业ERP管理系统概述565
24.1.1什么是ERP和ERP管理系统565
24.1.2ERP的发展阶段565
24.2系统分析566
24.2.1需求分析566
24.2.2开发工具选择567
24.3总体设计567
24.3.1项目规划567
24.3.2ERP管理系统流程图567
24.3.3系统功能结构568
24.4系统设计569
24.4.1设计目标569
24.4.2开发及运行环境569
24.4.3系统预览570
24.4.4数据库命名规范572
24.4.5数据库设计573
24.5技术准备581
24.5.1使用泛型集合、字典存储不同的信息列表581
24.5.2使用SqlTransaction事务处理对象584
24.5.3动态设置水晶报表数据源585
24.6公共模块设计585
24.6.1文件及文件夹模块设计585
24.6.2公共类设计587
24.7主要功能模块设计599
24.7.1物料清单设计599
24.7.2采购入库单设计609
24.7.3销售收款单设计621
24.7.4库存清单设计628
24.7.5生产单设计630
24.7.6生产完工处理设计639
24.7.7产品销售毛利汇总表设计646
24.7.8操作权限设计649
24.8系统打包部署653
24.9系统使用手册658
24.10疑难问题分析与解决660
24.10.1向被数据绑定的DataGridView控件的行集合中添加行660
24.10.2动态添加DataGridView控件的列660
24.11程序调试与错误处理662
24.11.1空引用异常调试662
24.11.2水晶报表查询错误调试663
24.12技术、经验总结663
24.12.1技术总结663
24.12.2经验总结664