您的浏览器不支持JavaScript,请开启后继续
C#开发手册:基础·案例·应用

C#开发手册:基础·案例·应用

  • 作者
  • 明日科技 编著

《C#开发手册:基础·案例·应用》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目,旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。 本书是侧重编程基础+实践的C#程序开发图书,为了保证读者可以学...


  • ¥128.00

ISBN: 978-7-122-40197-7

版次: 1

出版时间: 2022-02-01

图书介绍

ISBN:978-7-122-40197-7

语种:汉文

开本:16

出版时间:2022-02-01

装帧:平

页数:430

编辑推荐

①分层学习,学以致用。本书将核心知识、案例和应用分成三个层级进行循序渐进的学习和实践,力争短时间快速掌握相关技能。 ②案例丰富,通过大量案例、实例讲解所学技能,举一反三,提高读者应用技能的能力。 ③本书配备了视频录像、资源库、社区技术支持、QQ在线等服务。

图书前言

从工业4.0到“十四五”规划,我国信息时代正式踏上新的阶梯,电子设备已经普及,在人们的日常生活中随处可见。信息社会给人们带来了极大的便利,信息捕获、信息处理分析等在各个行业得到普遍应用,推动整个社会向前稳固发展。
计算机设备和信息数据的相互融合,对各个行业来说都是一次非常大的进步,已经渗入到工业、农业、商业、军事等领域,同时其相关应用产业也得到一定发展。就目前来看,各类编程语言的发展、人工智能相关算法的应用、大数据时代的数据处理和分析都是计算机科学领域各大高校、各个企业在不断攻关的难题,是挑战也是机遇。因此,我们策划编写了“计算机科学与技术手册系列”图书,旨在为想要进入相应领域的初学者或者已经在该领域深耕多年的从业者提供新而全的技术性内容,以及丰富、典型的实战案例。
本书从初学者的角度出发,为想要学习C#程序开发、想要进行Windows窗体开发的初中级开发人员、编程爱好者、大学师生精心策划。所讲内容从技术应用的角度出发,结合实际应用深入浅出地循序渐进。
本书内容
全书共分为32章,主要通过“基础篇(18章)+ 案例篇(12章)+应用篇(2章)”3大维度一体化的讲解方式,具体的知识结构如下图所示。
本书特色
1.突出重点、学以致用
书中每个知识点都结合了简单易懂的示例代码以及非常详细的注释信息,力求读者能够快速理解所学知识,提高学习效率,缩短学习路径。
2.提升思维、综合运用
本书以知识点综合运用的方式,带领读者学习各种趣味性较强的应用案例,让读者不断提升编写C#程序的思维,还可以快速提升对知识点的综合运用能力,让读者能够回顾以往所学的知识点,并结合新的知识点进行综合应用。
3.综合技术、实际项目
本书在应用篇中提供了两个贴近实际应用的项目,力求通过实际应用使读者更容易地掌握C#技术与对应业务的需求。两个项目都是根据实际开发经验总结而来,包含了在实际开发中所遇到的各种问题。项目结构清晰、扩展性强,读者可根据个人需求进行扩展开发。
4.精彩栏目、贴心提示
本书根据实际学习的需要,设置了“注意”“说明”“指点迷津”等许多贴心的小栏目,辅助读者轻松理解所学知识,规避编程陷阱。
本书由明日科技的.NET开发团队策划并组织编写,主要编写人员有王小科、李菁菁、张鑫、何平、申小琦、赵宁、周佳星、李磊、王国辉、高春艳、李再天、赛奎春、葛忠月、李春林、宋万勇、张宝华、杨丽、刘媛媛、庞凤、谭畅、依莹莹等。在编写本书的过程中,我们本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评斧正。
感谢您阅读本书,希望本书能成为您编程路上的领航者。
祝您读书快乐!

编著者

精彩书摘

《C#开发手册:基础·案例·应用》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目,旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。
本书是侧重编程基础+实践的C#程序开发图书,为了保证读者可以学以致用,在实践方面循序渐进地进行了3个层次的讲解:基础知识实践、进阶案例实践和综合应用实践。本书全面介绍了使用C#进行窗体程序开发的必备知识,以帮助读者快速掌握C#开发的技能,拓宽职场的道路。本书通过各种示例将学习与应用相结合,打造轻松学习、零压力学习的环境,通过案例对所学知识进行综合应用,通过开发实际项目将C#开发的各项技能应用到实际工作中。
本书提供丰富的资源,包含实例87个、实战练习20个、案例12个、项目2个,力求为读者打造一本基础+案例+应用一体化的、精彩的C#开发实例图书。
本书不仅适合初学者、编程爱好者、准备毕业设计的学生、参加实习的程序员,而且适合初中级程序开发人员以及程序测试和维护人员使用。

目录

第1篇 基础篇
第1章 C#开发准备
1.1 C#语言入门 3
1.1.1 C#是什么 3
1.1.2 认识.NET Framework 3
1.1.3 C#与.NET Framework 4
1.1.4 C#的应用领域 4
1.2 Visual Studio 2019的安装与卸载 4
1.2.1 安装Visual Studio 2019必备条件 4
1.2.2 下载Visual Studio 2019 4
1.2.3 安装Visual Studio 2019 5
1.3 熟悉Visual Studio 2019开发环境 6
1.3.1 创建第一个C#程序 6
1.3.2 菜单栏 7
1.3.3 工具栏 7
1.3.4 解决方案资源管理器 8
1.3.5 “工具箱”窗口 8
1.3.6 “属性”窗口 9
1.3.7 “错误列表”窗口 9
1.4 C#程序结构预览 10
1.4.1 命名空间 10
1.4.2 类 11
1.4.3 关键字与标识符 11
1.4.4 Main方法 12
1.4.5 C#语句 13
1.4.6 注释 15
1.4.7 一个完整的C#程序 16
【实例1.1】输出名人名言 16
1.5 综合案例——打印美团外卖单据 17
1.5.1 案例描述 17
1.5.2 实现代码 17
1.6 实战练习 18

第2章 C#语言基础
2.1 数据类型及变量 20
2.1.1 变量是什么 20
2.1.2 变量的声明和命名规则 20
2.1.3 简单数据类型 21
2.1.4 变量的初始化 24
2.1.5 变量的作用域 25
【实例2.1】使用变量记录用户登录名  25
2.2 引用类型和值类型与引用类型的区别 26
2.2.1 引用类型 26
2.2.2 值类型与引用类型的区别 27
2.3 常量 27
2.3.1 常量是什么 27
2.3.2 常量的分类 27
2.4 数据类型转换 28
2.4.1 隐式类型转换 28
2.4.2 显式类型转换 29
2.4.3 使用Convert类进行转换 29
2.4.4 装箱和拆箱 30
2.5 运算符 31
2.5.1 算术运算符 31
2.5.2 自增自减运算符 31
2.5.3 赋值运算符 32
2.5.4 关系运算符 34
【实例2.2】使用关系运算符比较大小关系 34
2.5.5 逻辑运算符 34
2.5.6 位运算符 35
2.5.7 移位运算符 36
2.5.8 条件运算符 37
2.5.9 运算符优先级与结合性 38
2.6 综合案例——记录你的密码 39
2.6.1 案例描述 39
2.6.2 实现代码 39
2.7 实战练习 40

第3章 流程控制
3.1 选择语句 42
3.1.1 if语句 42
【实例3.1】根据输入年龄输出相应信息提示 45
【实例3.2】判断输入的年份是不是闰年 47
3.1.2 switch语句 48
【实例3.3】查询高考录取分数线 49
3.2 循环语句 49
3.2.1 while语句 50
【实例3.4】计算1到100的累加和 50
3.2.2 do…while语句 50
3.2.3 for语句 51
3.2.4 foreach语句 53
3.3 跳转语句 54
3.3.1 break语句 54
【实例3.5】使用break跳出循环 54
3.3.2 continue语句 55
【实例3.6】使用continue语句实现1到100之间的偶数和 55
3.3.3 goto语句 55
3.3.4 return语句 56
【实例3.7】使用return设置返回值 56
3.4 综合案例——猜数字游戏 56
3.4.1 案例描述 56
3.4.2 实现代码 56
3.5 实战练习 57

第4章 字符与字符串
4.1 字符 59
4.1.1 Char类的使用 59
【实例4.1】字符类Char的常用方法应用 60
4.1.2 转义字符 60
【实例4.2】输出Windows系统目录 61
4.2 字符串 61
4.2.1 声明字符串 61
4.2.2 字符串的初始化 62
4.2.3 获取字符串长度 63
4.2.4 获取指定位置的字符 63
4.2.5 获取子字符串索引位置 64
4.2.6 判断字符串首尾内容 65
4.2.7 字符串的拼接 66
4.2.8 比较字符串 66
4.2.9 字符串的大小写转换 67
4.2.10 格式化字符串 67
【实例4.3】格式化不同的数值类型数据 69
【实例4.4】输出不同形式的日期时间 70
4.2.11 截取字符串 70
4.2.12 分隔字符串 71
4.2.13 填充字符串 71
【实例4.5】对字符串进行填充 72
4.2.14 去除空白内容 72
4.2.15 替换字符串 73
4.3 可变字符串 73
4.3.1 StringBuilder类的定义 74
4.3.2 StringBuilder类的使用 74
【实例4.6】StringBuilder类方法的使用 75
4.3.3 StringBuilder类与String类的区别 75
4.4 综合案例——模拟邮件发送 76
4.4.1 案例描述 76
4.4.2 实现代码 76
4.5 实战练习 77

第5章 数组与集合
5.1 数组概述 79
5.2 一维数组的声明和使用 79
5.2.1 一维数组的声明 79
5.2.2 一维数组的使用 80
【实例5.1】遍历一维数组中的所有元素 80
5.3 二维数组的声明和使用 81
5.3.1 二维数组的声明 81
5.3.2 二维数组的使用 81
【实例5.2】输出二维数组的所有元素 81
5.3.3 不规则数组的定义 82
5.4 数组的基本操作 82
5.4.1 遍历数组中的元素 82
5.4.2 使用排序算法对数组进行排序 83
【实例5.3】冒泡排序法 83
【实例5.4】选择排序法 84
5.5 ArrayList集合的使用 85
5.5.1 ArrayList集合概述 85
5.5.2 添加ArrayList集合元素 86
5.5.3 删除ArrayList集合元素 87
5.5.4 遍历ArrayList集合 88
【实例5.5】使用集合存储数据 88
5.5.5 查找ArrayList集合元素 89
5.6 综合案例——模拟淘宝购物车场景 90
5.6.1 案例描述 90
5.6.2 实现代码 90
5.7 实战练习 90

第6章 面向对象编程基础
6.1 面向对象概念 92
6.1.1 对象、类、实例化 92
6.1.2 面向对象程序设计语言的三大原则 93
6.2 类 95
6.2.1 类的概念 95
6.2.2 类的声明 95
6.2.3 类的成员 96
【实例6.1】用set访问器对年龄进行判断 98
6.2.4 构造函数和析构函数 98
【实例6.2】构造函数的使用 98
6.2.5 对象的创建及使用 99
【实例6.3】使用对象调用类成员 100
6.2.6 this关键字 102
6.2.7 类与对象的关系 103
6.3 方法 103
6.3.1 方法的声明 103
6.3.2 方法的参数 104
【实例6.4】值参数的使用 104
【实例6.5】ref引用参数的使用 105
【实例6.6】out参数的使用 105
【实例6.7】使用params向方法参数传递多个值 106
6.3.3 静态方法与实例方法 106
【实例6.8】使用类名调用静态方法 107
【实例6.9】实例方法的调用 107
6.3.4 方法的重载 108
【实例6.10】使用重载方法计算不同类型数据的和 108
6.4 综合案例——输出库存商品信息 108
6.4.1 案例描述 108
6.4.2 实现代码 109
6.5 实战练习 110

第7章 面向对象核心技术
7.1 类的继承与多态 112
7.1.1 继承 112
【实例7.1】模拟进销存管理系统的进货信息并输出 112
7.1.2 多态 114
【实例7.2】不同交通工具的形态 114
【实例7.3】重写抽象方法输出进货信息和销售信息 116
7.2 结构与接口 117
7.2.1 结构 117
7.2.2 接口 118
【实例7.4】通过继承接口输出进货信息和销售信息 119
7.3 索引器 121
【实例7.5】定义操作字符串数组的索引器 121
7.4 委托和匿名方法 122
7.4.1 委托 122
【实例7.6】自定义委托并使用 122
7.4.2 匿名方法 123
【实例7.7】分别调用匿名方法和命名方法 123
7.5 事件 124
7.5.1 委托的发布和订阅 124
【实例7.8】通过委托使学生们对铃声作出响应 124
7.5.2 事件的发布和订阅 126
7.5.3 EventHandler类 127
7.6 泛型 128
7.6.1 类型参数T 128
7.6.2 泛型接口 129
7.6.3 泛型方法 129
【实例7.9】通过泛型方法计算商品销售额 129
7.7 综合案例——输出进销存管理系统中的每月销售明细 130
7.7.1 案例描述 130
7.7.2 实现代码 130
7.8 实战练习 132

第8章 Windows编程基础
8.1 Form窗体 134
8.1.1 添加和删除窗体 134
8.1.2 多窗体的使用 134
8.1.3 窗体的属性 135
8.1.4 窗体的显示与隐藏 137
8.1.5 窗体的事件 137
8.2 MDI窗体 139
8.2.1 MDI窗体的概念 139
8.2.2 如何设置MDI窗体 139
8.2.3 排列MDI子窗体 140
8.3 综合案例——自定义最大化、最小化和关闭按钮 140
8.3.1 案例描述 140
8.3.2 实现代码 140
8.4 实战练习 141

第9章 Windows控件的使用
9.1 控件基础 143
9.1.1 控件概述 143
9.1.2 控件的相关操作 143
9.2 文本类控件 144
9.2.1 Label:标签 144
9.2.2 TextBox:文本框 144
9.2.3 RichTextBox:有格式文本框 145
9.3 按钮类控件 147
9.3.1 Button:按钮 147
9.3.2 RadioButton:单选按钮 147
【实例9.1】选择用户登录身份 147
9.3.3 CheckBox:复选框 148
【实例9.2】设置用户操作权限 148
9.4 列表类控件 149
9.4.1 ComboBox:下拉组合框 149
【实例9.3】选择员工的职位 149
9.4.2 NumericUpDown:数值选择 150
9.4.3 ListBox:列表 150
9.4.4 ListView控件:列表视图 151
9.5 图片类控件 154
9.5.1 PictureBox:图片 154
9.5.2 ImageList:图片列表 154
9.6 容器控件 155
9.6.1 GroupBox:分组框 155
9.6.2 Panel:容器 155
9.6.3 TabControl:选项卡 156
9.7 TreeView:树控件 157
9.8 Timer:定时器 158
【实例9.4】模拟双色球选号 158
9.9 ProgressBar:进度条 159
9.10 菜单、工具栏和状态栏 160
9.10.1 MenuStrip:菜单 160
9.10.2 ToolStrip:工具栏 160
9.10.3 StatusStrip:状态栏 161
【实例9.5】在状态栏中显示登录用户及时间 161
9.11 消息框 162
9.12 对话框 163
9.12.1 打开对话框 163
9.12.2 另存为对话框 163
9.12.3 浏览文件夹对话框 164
9.13 综合案例——在控件中实现关键字描红 164
9.13.1 案例描述 164
9.13.2 实现代码 165
9.14 实战练习 166

第10章 ADO.NET数据访问技术
10.1 ADO.NET概述 168
10.1.1 ADO.NET对象模型 168
10.1.2 数据访问命名空间 168
10.2 Connection数据连接对象 169
10.2.1 熟悉Connection对象 169
10.2.2 数据库连接字符串 169
10.2.3 应用SqlConnection对象连接数据库 170
10.3 Command命令执行对象 171
10.3.1 熟悉Command对象 171
10.3.2 应用Command对象操作数据 172
10.3.3 应用Command对象调用存储过程 172
【实例10.1】使用存储过程向数据表中添加信息 172
10.4 DataReader数据读取对象 173
10.4.1 DataReader对象概述 173
10.4.2 使用DataReader对象检索数据 174
10.5 DataSet对象和DataAdapter操作对象 175
10.5.1 DataSet对象 175
10.5.2 DataAdapter对象 175
10.5.3 填充DataSet数据集 177
10.5.4 DataSet对象与DataReader对象的区别 177
10.6 DataGridView控件的使用 177
【实例10.2】DataGridView表格的使用 178
10.7 综合案例——分页显示信息 179
10.7.1 案例描述 179
10.7.2 实现代码 179
10.8 实战练习 180

第11章 LINQ编程
11.1 LINQ基础 182
11.1.1 LINQ概述 182
11.1.2 LINQ查询 182
【实例11.1】使用LINQ查询数组中指定长度的项 183
11.1.3 使用var创建隐型局部变量 183
11.1.4 Lambda表达式的使用 183
【实例11.2】查找数组中包含指定字符的字符串 184
11.2 LINQ查询表达式 185
11.2.1 获取数据源 185
11.2.2 筛选 185
11.2.3 排序 185
11.2.4 分组 186
11.2.5 连接 186
11.3 LINQ操作SQL Server数据库 186
11.3.1 使用LINQ查询SQL Server数据库 186
【实例11.3】多条件查询商品信息 187
11.3.2 使用LINQ更新SQL Server数据库 188
【实例11.4】添加库存商品信息 189
【实例11.5】修改库存商品信息 190
【实例11.6】删除库存商品信息 191
11.4 综合案例——分页查看库存商品信息 191
11.4.1 案例描述 191
11.4.2 实现代码 192
11.5 实战练习 193

第12章 文件流
12.1 System.IO命名空间 195
12.2 文件与目录类 196
12.2.1 File和FileInfo文件类 196
【实例12.1】使用File类创建文件并获取文件的详细信息 197
12.2.2 Directory和DirectoryInfo目录类 197
【实例12.2】遍历驱动器中的文件及文件夹 198
12.2.3 Path路径类 199
12.2.4 DriveInfo驱动器类 200
12.3 数据流基础 201
12.3.1 流操作类介绍 201
12.3.2 文件流 201
【实例12.3】使用不同的方式打开文件 202
12.3.3 文本文件的读写 202
【实例12.4】模拟记录进销存管理系统的登录日志 203
12.3.4 二进制文件的读写 205
12.4 综合案例——复制文件时显示复制进度 205
12.4.1 案例描述 205
12.4.2 实现代码 206
12.5 实战练习 207

第13章 GDI+绘图
13.1 GDI+绘图基础 209
13.2 绘图 210
13.2.1 画笔 210
13.2.2 画刷 211
13.2.3 绘制图形 211
【实例13.1】绘制验证码 211
13.2.4 填充图形 212
【实例13.2】绘制并利用饼型图分析产品市场占有率 213
13.3 颜色 213
13.4 文本输出 214
13.4.1 字体 214
13.4.2 输出文本 215
13.5 图像处理 215
13.5.1 绘制图像 215
13.5.2 刷新图像 216
13.6 综合案例——十字光标定位 216
13.6.1 案例描述 216
13.6.2 实现代码 217
13.7 实战练习 217

第14章 网络编程
14.1 IP地址封装 219
【实例14.1】访问同一局域网中的主机的名称 220
14.2 TCP程序设计 221
14.2.1 Socket类 221
14.2.2 TcpClient类和TcpListener类 222
14.2.3 TCP网络程序实例 223
【实例14.2】客户端/服务器的交互 223
14.3 UDP程序设计 225
14.3.1 UdpClient类 225
14.3.2 UDP网络程序实例 226
【实例14.3】广播数据报程序 226
14.4 综合案例——点对点聊天室 228
14.4.1 案例描述 228
14.4.2 实现代码 228
14.5 实战练习 230

第15章 多线程编程
15.1 线程概述 232
15.1.1 多线程工作方式 232
15.1.2 何时使用多线程 232
15.2 线程的基本操作 232
15.2.1 线程的创建与启动 232
15.2.2 线程的挂起与恢复 234
15.2.3 线程休眠 235
15.2.4 终止线程 235
15.2.5 线程的优先级 236
15.3 线程同步 237
15.3.1 lock关键字 237
【实例15.1】模拟账户转账操作 237
15.3.2 线程监视器——Monitor 238
【实例15.2】Monitor同步监视器的使用 238
15.3.3 子线程访问主线程的控件 239
15.4 线程池和定时器 240
15.4.1 线程池 240
15.4.2 定时器 241
15.5 互斥对象——Mutex 241
15.6 综合案例——设置同步块模拟售票系统 242
15.6.1 案例描述 242
15.6.2 实现代码 243
15.7 实战练习 244

第16章 程序调试与异常处理
16.1 程序调试 246
16.1.1 Visual Studio编辑器调试 246
16.1.2 Visual Studio调试器调试 246
16.2 异常处理 248
16.2.1 try…catch语句 249
【实例16.1】未将对象引用设置到对象实例的异常 249
16.2.2 try…catch…finally语句 251
【实例16.2】捕捉将字符串转换为整型数据时的异常 251
16.2.3 throw语句 252
【实例16.3】抛出除数为0的异常 252
16.2.4 异常的使用原则 253
16.3 综合案例——数组索引超出范围引发的异常 253
16.3.1 案例描述 253
16.3.2 实现代码 253
16.4 实战练习 254

第17章 注册表应用
17.1 注册表基础 256
17.1.1 Windows注册表概述 256
17.1.2 Registry和RegistryKey类 256
17.2 在C#中操作注册表 258
17.2.1 读取注册表中信息 258
【实例17.1】读取注册表信息 259
17.2.2 创建和修改注册表信息 259
【实例17.2】创建注册表项 260
【实例17.3】修改注册表项 261
17.2.3 删除注册表中信息 261
17.3 综合案例——限制软件的使用次数 262
17.3.1 案例描述 262
17.3.2 实现代码 262
17.4 实战练习 264

第18章 系统打包部署
18.1 创建打包项目 266
18.2 添加项目输出 266
18.3 添加内容文件 267
18.4 创建桌面快捷方式 267
18.5 添加注册表项 268
18.6 生成Windows安装程序 269

第2篇 案例篇
第19章 二维码生成器——C#+ZXing.Net组件实现
19.1 案例效果预览 272
19.2 案例准备 272
19.3 业务流程 272
19.4 实现过程 272
19.4.1 设计窗体 272
19.4.2 引入ZXing.Net组件 273
19.4.3 自定义生成二维码的方法 273
19.4.4 设置是否包含图片 275
19.4.5 实现二维码的生成 275

第20章 语音与文本的相互转换——Baidu.AI+ffmpeg多媒体框架实现
20.1 案例效果预览 277
20.2 案例准备 277
20.3 业务流程 277
20.4 实现过程 277
20.4.1 准备百度云AI的SDK开发包 277
20.4.2 设计窗体 280
20.4.3 创建语音合成与识别对象 281
20.4.4 将文本合成为语音文件 281
20.4.5 将语音识别为文本 283

第21章 根据人脸推测其年龄性别——C#+Baidu.AI框架+人脸识别技术实现
21.1 案例效果预览 286
21.2 案例准备 286
21.3 业务流程 286
21.4 实现过程 286
21.4.1 设计窗体 286
21.4.2 初始化人脸识别对象 287
21.4.3 识别人脸并推测年龄性别 287

第22章 AI图像识别工具——Baidu.AI框架+图像识别技术+文字识别技术实现
22.1 案例效果预览 292
22.2 案例准备 292
22.3 业务流程 292
22.4 实现过程 292
22.4.1 设计窗体 292
22.4.2 初始化图像及文字识别对象 294
22.4.3 植物识别 294
22.4.4 动物识别 295
22.4.5 车型识别 296
22.4.6 车牌识别 297
22.4.7 菜品识别 298

第23章 从文档中提取所有图片——Sprie.PDF组件+文件流+Image图片类实现
23.1 案例效果预览 301
23.2 案例准备 301
23.3 业务流程 301
23.4 实现过程 301
23.4.1 设计窗体 301
23.4.2 选择PDF文档 302
23.4.3 从PDF文档中提取图片并保存 302

第24章 为图片批量添加水印——C#+GDI+绘图技术实现
24.1 案例效果预览 305
24.2 案例准备 305
24.3 业务流程 305
24.4 实现过程 306
24.4.1 设计窗体 306
24.4.2 加载图片 306
24.4.3 设置水印类型 307
24.4.4 为图片添加水印 309

第25章 语音计算器——系统API函数+INI文件读写+语音播放技术实现
25.1 案例效果预览 314
25.2 案例准备 314
25.3 业务流程 314
25.4 实现过程 315
25.4.1 设计窗体 315
25.4.2 获取并播放语音 315
25.4.3 数字键输入 316
25.4.4 点输入 317
25.4.5 其他符号输入 317
25.4.6 实现计算及语音播放功能 319
25.4.7 语音设置的实现 320

第26章 Word与PDF转换工具——C# + Spire.PDF组件 + Spire.Doc组件实现
26.1 案例效果预览 323
26.2 案例准备 323
26.3 业务流程 323
26.4 实现过程 324
26.4.1 设计窗体 324
26.4.2 设置转换文件及格式 324
26.4.3 Word转换为PDF的实现 325
26.4.4 PDF转换为Word的实现 326

第27章 EXE文件加密器——WMI+文件流+注册表+异或加密算法实现
27.1 案例效果预览 329
27.2 案例准备 329
27.3 业务流程 329
27.4 实现过程 330
27.4.1 获取加密字符串的信息 330
27.4.2 对生成后的数据进行加密 333
27.4.3 对EXE文件进行加密 335
27.4.4 解密文件的设置 337

第28章 365桌面提醒器——多线程+数据库+注册表技术实现
28.1 案例效果预览 343
28.2 案例准备 343
28.3 业务流程 344
28.3.1 提醒设置流程 344
28.3.2 计划录入流程 344
28.3.3 计划查询流程 344
28.3.4 计划统计流程 345
28.4 数据库设计 345
28.5 公共类设计 345
28.5.1 封装数据值和显示值的类 345
28.5.2 绑定和显示数据的类 346
28.6 提醒设置模块设计 346
28.6.1 提醒设置功能概述 346
28.6.2 提醒设置界面设计 347
28.6.3 打开提醒设置界面 347
28.6.4 保存提示设置 347
28.7 计划录入模块设计 348
28.7.1 计划录入功能概述 348
28.7.2 计划录入界面设计 348
28.7.3 打开计划录入界面 349
28.7.4 添加计划任务 349
28.7.5 保存计划任务 350
28.7.6 删除计划任务 351
28.8 计划查询模块设计 352
28.8.1 计划查询功能概述 352
28.8.2 计划查询界面设计 352
28.8.3 打开计划查询界面 353
28.8.4 查询计划信息 353
28.8.5 处理计划 354
28.9 计划统计模块设计 354
28.9.1 计划统计功能概述 354
28.9.2 计划统计界面设计 354
28.9.3 统计计划信息 355

第29章 《华容道》游戏——C#+鼠标键盘处理技术实现
29.1 案例效果预览 357
29.2 案例准备 357
29.3 业务流程 357
29.4 实现过程 358
29.4.1 设计窗体 358
29.4.2 初始化各位置可用状态 358
29.4.3 设置人物选中状态 358
29.4.4 游戏逻辑的实现 359
29.4.5 重新开始游戏 363

第30章 贪吃蛇大作战——C#+GDI+技术+键盘处理实现
30.1 案例效果预览 365
30.2 案例准备 365
30.3 业务流程 365
30.4 实现过程 366
30.4.1 创建项目并导入资源文件 366
30.4.2 设计窗体 367
30.4.3 初始化游戏场景及蛇身 368
30.4.4 控制游戏的开始、暂停和结束 369
30.4.5 移动贪吃蛇并控制其速度 371

第3 篇 应用篇
第31章 网络多任务下载器——C#+Thread多线程+断点续传技术实现
31.1 系统需求分析 374
31.1.1 系统概述 374
31.1.2 系统可行性分析 374
31.1.3 系统用户角色分配 374
31.1.4 功能性需求分析 374
31.1.5 非功能性需求分析 375
31.2 系统功能设计 375
31.2.1 系统功能结构 375
31.2.2 系统业务流程 375
31.2.3 系统预览 375
31.3 系统开发必备 376
31.3.1 系统开发环境 376
31.3.2 文件夹组织结构 376
31.4 公共类设计 377
31.4.1 Set系统设置类 377
31.4.2 DownLoad文件下载类 379
31.4.3 xuchuan断点续传类 382
31.5 主窗体设计 383
31.5.1 主窗体概述 383
31.5.2 主窗体的业务流程 384
31.5.3 设计主窗体 384
31.5.4 初始化控件及下载任务状态 385
31.5.5 打开新建下载任务窗体 391
31.5.6 开始、暂停、删除及续传操作 391
31.5.7 网络速度实时监控 393
31.5.8 退出程序时保存续传文件 393
31.5.9 打开系统设置窗体 394
31.6 新建下载任务窗体设计 395
31.6.1 新建下载任务概述 395
31.6.2 新建下载任务的业务流程 395
31.6.3 设计新建下载任务界面 395
31.6.4 显示默认下载路径 396
31.6.5 选择下载文件保存位置 396
31.6.6 自动获取下载文件名 396
31.6.7 确认下载文件信息 397
31.7 系统设置窗体设计 398
31.7.1 系统设置窗体概述 398
31.7.2 系统设置的业务流程 398
31.7.3 设计系统设置窗体 398
31.7.4 显示用户的默认设置 399
31.7.5 切换设置界面 400
31.7.6 保存用户设置 401

第32章 明日ERP管理系统——WinForm+SQL Server+事务处理技术实现
32.1 系统需求分析 404
32.1.1 系统概述 404
32.1.2 系统可行性分析 404
32.1.3 系统用户角色分配 404
32.1.4 功能性需求分析 404
32.1.5 非功能性需求分析 405
32.2 系统功能设计 405
32.2.1 系统功能结构 405
32.2.2 系统业务流程 406
32.2.3 系统预览 406
32.3 系统开发必备 406
32.3.1 系统开发环境 406
32.3.2 文件夹组织结构 407
32.4 数据库设计 407
32.4.1 数据库概要说明 407
32.4.2 数据库逻辑设计 408
32.5 公共类设计 411
32.5.1 DataBase类 412
32.5.2 CommonUse类 414
32.6 物料清单模块设计 418
32.6.1 物料清单模块概述 418
32.6.2 物料清单模块的业务流程 418
32.6.3 设计物料清单窗体 418
32.6.4 获取所有母件信息 419
32.6.5 获取指定母件的子件信息 419
32.6.6 打开物料清单编辑窗体 420
32.6.7 添加/修改物料清单 421
32.7 销售收款单模块设计 422
32.7.1 销售收款单模块概述 422
32.7.2 销售收款单模块的业务流程 423
32.7.3 设计销售收款单窗体 423
32.7.4 查看已审核的销售出库单 424
32.7.5 查看指定出库单的详细信息 424
32.8 操作权限模块设计 425
32.8.1 操作权限模块概述 425
32.8.2 操作权限模块的业务流程 425
32.8.3 设计操作权限窗体 425
32.8.4 初始化用户及其权限列表 426
32.8.5 查看操作员的权限 428
32.8.6 修改操作员权限 429


发送电子邮件联系我们