C#开发实战

出版时间:2013-9-1  出版社:清华大学出版社  作者:软件开发技术联盟 编著  

内容概要

《C#开发实战》从初学者的角度讲述了使用Visual Studio 2010开发环境结合C#语言进行程序开发应该掌握的各项技术,突出“基础”、“全面”、“深入”,同时强调“实战”效果。全书在介绍技术的同时,都会提供示例或稍大一些的实例,同时在结尾安排实战,通过多个实战来综合应用本章所讲解的知识,做到理论联系实际;前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

图书封面

评论、评分、阅读与下载


    C#开发实战 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7