微信扫一扫,移动浏览光盘
简介
明日科技、苏素芳等编著的《C#学习手册(附光盘)》以初学者为核心
,全面介绍了使用C#语言进行程序开发的各种技术。在内容排列上由浅入
深,让读者循序渐进地掌握编程技术;在内容讲解上结合丰富的图解和形
象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的
提示、技巧、说明、情景应用、实战练习等栏目,夯实读者编程技术,丰
富编程经验。全书共分4篇23章,其中,第一篇为基础篇,主要包括认识C#
语言、熟悉C#程序开发环境、掌握C#语言基础、掌握C#控制语句、熟悉字
符和字符串、熟悉数组和集合、掌握C#面向对象程序设计、处理程序异常
等内容;第二篇为核心篇,主要包括介绍WinForm窗体、使用WinForm常用
控件编程、熟悉高级控件、组件及自定义控件、应用ADO.NET技术操作数据
库、掌握C#面向对象高级技术等内容;第三篇为高级篇,主要包括操作文
件及数据流、使用GDI+技术绘图、打印和制作报表、应用线程技术编程、
熟悉网络通信技术、操作注册表、调试和打包应用程序、了解C# 3.0新技
术等内容;第四篇为实战篇,主要包括文档管理系统和进销存管理系统两
个实战项目。
《C#学习手册(附光盘)》附有配套光盘,光盘中提供有《C#学习手册(
附光盘)》所有程序的源代码、重点难点的实例视频录像、编程词典体验版
学习软件。其中,源代码全部经过精心测试,能够在Windows 2000、
Windows XP、Windows 2003、Windows 7编译和运行。
《C#学习手册(附光盘)》适用于C#的爱好者、初学者和中级开发人员
,也可以作为大中专院校和培训机构的教材。
目录
《c#学习手册》
第1篇 基础篇
第1章 认识c#语言 17
1.1 简介c#语言 18
1.1.1 介绍c#语言产生背景 18
1.1.2 比较c#与其他语言的技术优势 19
1.1.3 了解c#语言的优良特性 19
1.1.4 纵观c#语言发展趋势 20
1.1.5 列举c#语言开发的成功案例 21
1.1.6 使用c#语言开发的领域 21
1.2 学好c#语言的方法 22
1.3 本章小结 23
第2章 熟悉c#程序开发环境 24
2.1 介绍c#程序开发工具 25
2.2 简介.net framework框架 26
2.2.1 认识.net framework 26
2.2.2 讨论c#与.net的关系 27
2.3 安装集成开发环境microsoft visual studio 2008 27
2.3.1 安装和卸载microsoft visual studio 2008 27
2.3.2 安装microsoft visual studio 2008 msdn帮助 30
.2.3.3 如何使用msdn帮助 32
2.4 熟悉visual studio 2008开发环境 33
2.4.1 启动visual studio 2008开发平台 33
2.4.2 创建控制台应用程序 34
2.4.3 创建windows应用程序 35
2.4.4 主窗口 36
2.4.5 菜单栏 37
2.4.6 工具栏 38
2.4.7 “工具箱”窗口 39
2.4.8 “解决方案资源管理器”窗口 40
2.4.9 “属性”窗口 40
2.4.10 “窗体设计”窗口 40
2.4.11 “错误列表”窗口 41
2.4.12 “输出”窗口 41
2.5 本章小结 42
第3章 掌握c#语言基础 43
3.1 编写第一个c#应用程序 44
3.2 认识c#程序的基本构成 45
3.2.1 使用命名空间组织c#程序 45
3.2.2 认识什么是类 47
3.2.3 入口方法main 48
3.2.4 标识符及关键字 48
3.2.5 c#语句 49
3.2.6 注释程序代码 50
3.3 数据类型 50
3.3.1 数据类型的分类 51
3.3.2 使用值类型 51
3.3.3 使用引用类型 54
3.4 常量与变量 55
3.4.1 声明和使用常量 55
3.4.2 声明变量 57
3.4.3 定义变量的作用域 58
3.4.4 给变量赋值 58
3.5 转换数据类型 59
3.5.1 隐式类型转换 59
3.5.2 显式类型转换 60
3.5.3 什么是装箱和拆箱 61
3.5.4 应用装箱和拆箱操作 61
3.6 使用运算符进行计算 63
3.6.1 使用算术运算符 63
3.6.2 使用赋值运算符 66
3.6.3 使用关系运算符 67
3.6.4 使用布尔逻辑运算符 71
3.6.5 使用条件逻辑运算符 73
3.6.6 使用位移运算符 75
3.6.7 使用其他运算符 77
3.6.8 运算符优先级 79
3.6.9 情景应用:制作用户登录程序 80
3.7 实战练习 81
3.7.1 用“+”运算符进行加法和串连字符串 81
3.7.2 使用“?:”运算符判断奇偶数 82
3.8 本章小结 82
第4章 掌握c#控制语句 83
4.1 选择语句 84
4.1.1 使用if语句实现单分支选择结构 84
4.1.2 使用if…else语句实现双分支选择结构 85
4.1.3 使用if…else if…else语句实现多分支选择结构 86
4.1.4 嵌套if语句或if…else语句的使用 87
4.1.5 使用switch语句实现多分支选择 89
4.1.6 情景应用:使用if…else语句判断付款方式 91
4.2 循环语句 92
4.2.1 使用while语句循环执行语句 92
4.2.2 使用do…while语句至少执行一次循环 93
4.2.3 使用for语句实现代码循环 94
4.2.4 使用foreach语句遍历集合 97
4.3 跳转语句 97
4.3.1 使用break语句实现程序跳转 98
4.3.2 使用continue语句实现程序跳转 99
4.3.3 使用return语句实现程序跳转 100
4.4 实战练习 101
4.4.1 把数字1~7转换成星期 101
4.4.2 使用while语句计算前n个自然数之和 101
4.5 本章小结 102
第5章 熟悉字符和字符串 103
5.1 char字符类 104
5.1.1 定义一个字符 104
5.1.2 应用char类 104
5.1.3 使用转义字符 106
5.2 string字符串类 107
5.2.1 简述string类 107
5.2.2 应用string类 108
5.2.3 比较字符串 109
5.2.4 格式化字符串 111
5.2.5 截取字符串 112
5.2.6 情景应用:截取文件的名称及路径 113
5.3 stringbuilder字符串类 113
5.3.1 简述stringbuilder类 114
5.3.2 应用stringbuilder类 114
5.3.3 区分stringbuilder类与string类 115
5.4 实战练习 116
5.4.1 颠倒输出字符串中的每个字符 116
5.4.2 去掉字符串中的所有空格 116
5.5 本章小结 117
第6章 熟悉数组和集合 118
6.1 认识数组 119
6.2 静态数组 119
6.2.1 声明一维数组 119
6.2.2 调用一维数组元素 120
6.2.3 声明二维数组 121
6.2.4 调用二维数组元素 122
6.3 动态数组 123
6.3.1 声明动态数组 123
6.3.2 调用动态数组 124
6.4 操作数组 125
6.4.1 输入与输出数组 125
6.4.2 定位数组 126
6.4.3 遍历数组 127
6.4.4 排序数组 128
6.4.5 情景应用:拆分一个二维数组 131
6.5 arraylist集合类 132
6.5.1 简述arraylist类 132
6.5.2 添加arraylist元素 133
6.5.3 删除arraylist元素 135
6.5.4 查找arraylist元素 137
6.5.5 遍历arraylist集合 137
6.6 实战练习 138
6.6.1 把在控制台输入的数字存入数组 138
6.6.2 添加数组元素到arraylist集合中 139
6.7 本章小结 139
第7章 掌握c#面向对象程序设计 140
7.1 学习面向对象编程 141
7.1.1 认识什么是面向对象编程 141
7.1.2 了解面向对象编程的特点 141
7.2 使用类封装成员 142
7.2.1 介绍类的概念 142
7.2.2 声明一个类 142
7.2.3 访问类的成员 143
7.2.4 情景应用:使用类来封装药品信息 144
7.3 创建和使用对象 145
7.3.1 创建一个对象 145
7.3.2 论述类与对象的关系 146
7.4 使用构造方法和析构方法 147
7.4.1 使用构造方法创建对象 147
7.4.2 使用析构方法销毁对象 148
7.5 使用方法封装功能 149
7.5.1 声明一个方法 149
7.5.2 使用静态和非静态方法 151
7.5.3 方法的重载 152
7.6 使用字段、属性和索引器存储数据 154
7.6.1 使用字段存储数据 154
7.6.2 使用属性存储数据 155
7.6.3 使用索引器存储数据 158
7.7 理解封装、继承和多态 159
7.7.1 应用封装特性隐藏实现细节 159
7.7.2 应用继承特性扩展已存在类 161
7.7.3 应用多态特性减少程序紧耦合 163
7.7.4 情景应用:通过多态增加程序的灵活性 165
7.8 使用结构和枚举类型 166
7.8.1 使用结构类型封装成员 166
7.8.2 使用枚举类型改善程序 167
7.9 实战练习 169
7.9.1 使用属性记录用户编号和姓名 169
7.9.2 使用继承特性实现计算梯形面积 170
7.10 本章小结 170
第8章 处理程序异常 171
8.1 概述异常处理 172
8.2 异常处理语句 172
8.2.1 使用try…catch语句捕获并处理异常 173
8.2.2 使用throw语句抛出异常 174
8.2.3 使用try…catch…finally语句捕获并处理异常 176
8.2.4 情景应用:捕获数学四则运算中的异常 177
8.3 实战练习 178
8.3.1 捕获除数为0的异常 178
8.3.2 捕获数组越界异常 179
8.4 本章小结 179
第2篇 核心篇
第9章 介绍winform窗体 181
9.1 创建winform窗体 182
9.1.1 简述winform窗体 182
9.1.2 添加和删除窗体 183
9.1.3 使用多个窗体 184
9.1.4 设置窗体的属性 184
9.1.5 显示与隐藏窗体 187
9.1.6 触发窗体的事件 187
9.1.7 情景应用一:设计一个系统登录窗体 189
9.1.8 情景应用二:制作启动欢迎界面 190
9.2 创建mdi窗体 191
9.2.1 简述mdi窗体 191
9.2.2 如何设置mdi窗体 191
9.2.3 排列mdi子窗体 192
9.3 创建模态窗体和非模态窗体 194
9.3.1 创建模态窗体 194
9.3.2 创建非模态窗体 195
9.4 通过继承创建窗体 195
9.4.1 简述继承窗体 196
9.4.2 使用编程方式创建继承窗体 196
9.4.3 使用继承选择器创建继承窗体 197
9.4.4 在继承窗体中修改继承的控件属性 197
9.5 实战练习 198
9.5.1 制作半透明渐显窗体 198
9.5.2 制作标题栏文字右对齐的窗体 199
9.6 本章小结 199
第10章 使用winform常用控件编程 200
10.1 简述控件 201
10.2 操作控件 201
10.2.1 添加控件 202
10.2.2 对齐控件 202
10.2.3 锁定控件 202
10.2.4 删除控件 203
10.3 文本类控件 203
10.3.1 使用标签控件(label控件)显示文字 203
10.3.2 使用文本框控件(textbox控件)输入数据 204
10.3.3 使用有格式文本控件(richtextbox控件)输入数据 206
10.3.4 情景应用:制作图片和文字混合编辑工具 209
10.4 动作类控件 210
10.5 选择类控件 211
10.5.1 使用下拉组合框控件(combobox控件)选择数据 211
10.5.2 使用复选框控件(checkbox控件)选择选项 213
10.5.3 使用单选按钮控件(radiobutton控件)选择唯一选项 214
10.5.4 使用数值选择控件(numericupdown控件)显示数据 216
10.5.5 使用列表控件(listbox控件)显示多项数据 218
10.5.6 情景应用:使用combobox控件选择职位 220
10.6 容器类控件 220
10.6.1 使用容器控件(panel控件)划分窗体 221
10.6.2 使用分组框控件(groupbox控件)对控件分组 222
10.6.3 使用选项卡控件(tabcontrol控件)把窗体设计成多页 222
10.7 菜单、工具栏和状态栏控件 225
10.7.1 使用menustrip控件创建菜单 226
10.7.2 使用toolstrip控件创建工具栏 227
10.7.3 使用statusstrip控件创建状态栏 228
10.8 公共对话框 229
10.8.1 “打开”对话框 229
10.8.2 “另存为”对话框 230
10.8.3 “浏览文件夹”对话框 232
10.9 实战练习 233
10.9.1 在button中显示人性化图标 233
10.9.2 在textbox中只允许输入数字 234
10.10 本章小结 234
第11章 熟悉高级控件、组件及自定义控件 235
11.1 imagelist控件(存储图像控件) 236
11.1.1 在imagelist控件中添加图像 236
11.1.2 在imagelist控件中移除图像 237
11.2 listview控件(列表视图控件) 238
11.2.1 在listview控件中添加或移除项目 239
11.2.2 选择listview控件中的项目 241
11.2.3 为listview控件中的项目添加图标 242
11.2.4 在listview控件中启用平铺视图 243
11.3 treeview控件(树控件) 244
11.3.1 添加和删除树节点 244
11.3.2 获取树控件中选中的节点 246
11.3.3 设置树控件中节点的图标 247
11.3.4 情景应用:使用treeview显示部门结构 248
11.4 datetimepicker控件(日期控件) 249
11.4.1 使用datetimepicker控件显示时间 250
11.4.2 使用datetimepicker控件以自定义格式显示日期 251
11.4.3 返回datetimepicker控件中选择的日期 252
11.5 progressbar控件(进度条控件) 253
11.6 windows组件 254
11.6.1 使用errorprovider组件验证文本框输入 254
11.6.2 使用helpprovider组件调用帮助文件 256
11.6.3 使用timer组件设置时间间隔 257
11.6.4 情景应用:制作闹钟计时器 258
11.7 自定义控件 261
11.8 实战练习 263
11.8.1 在listview中添加书名目录 263
11.8.2 仿制windows资源管理器 263
11.9 本章小结 264
第12章 应用ado.net技术操作数据库 265
12.1 介绍ado.net技术 266
12.1.1 简述ado.net 266
12.1.2 ado.net访问数据库的模式 266
12.2 使用connection对象连接数据库 267
12.2.1 简述connection对象 267
12.2.2 创建数据库连接 268
12.2.3 关闭数据库连接 269
12.3 使用command对象操作数据库 271
12.3.1 简述command对象 271
12.3.2 设置数据源类型 271
12.3.3 执行sql语句 273
12.3.4 情景应用一:获取sql server服务器日期 275
12.3.5 情景应用二:保存任意文件到sql server数据库 276
12.4 使用datareader对象读取数据 277
12.4.1 简述datareader对象 277
12.4.2 判断查询结果中是否有值 278
12.4.3 读取数据 279
12.5 使用dataadapter对象操作数据 279
12.5.1 简述dataadapter对象 280
12.5.2 填充dataset数据集 280
12.5.3 更新数据源 281
12.6 使用dataset对象查询数据 283
12.6.1 简述dataset对象 283
12.6.2 合并dataset内容 284
12.6.3 复制dataset内容 285
12.7 使用datagridview控件操作数据 286
12.7.1 简述datagridview控件 286
12.7.2 使用datagridview控件显示数据 287
12.7.3 获取datagridview控件中的当前单元格 288
12.8 实战练习 289
12.8.1 实现向数据库中插入员工信息 289
12.8.2 实现修改数据库中的员工信息 290
12.9 本章小结 290
第13章 掌握c#面向对象高级技术 291
13.1 接口和抽象类 292
13.1.1 声明接口 292
13.1.2 定义接口的成员 293
13.1.3 使用两种方式实现接口 294
13.1.4 声明抽象类 296
13.1.5 声明抽象方法 297
13.1.6 实现抽象类及抽象方法 298
13.1.7 区分抽象类与接口 299
13.1.8 情景应用:使用接口作为方法参数编程 299
13.2 使用泛型将类型参数化 300
13.2.1 简述泛型 300
13.2.2 如何定义类型参数t 301
13.2.3 使用泛型 301
13.3 使用迭代器遍历数据 303
13.3.1 简述迭代器 303
13.3.2 创建迭代器 304
13.3.3 使用迭代器 304
13.4 内部类、分部类和密封类 305
13.4.1 声明和使用内部类 305
13.4.2 声明和使用分部类 306
13.4.3 声明和使用密封类 307
13.5 实战练习 310
13.5.1 通过实现接口计算矩形面积 310
13.5.2 通过实现抽象类计算圆形面积 311
13.6 本章小结 311
第3篇 高级篇
第14章 操作文件及数据流 313
14.1 system.io命名空间 314
14.1.1 简述system.io命名空间 314
14.1.2 file类和directory类 314
14.1.3 fileinfo类和
directoryinfo类 317
14.2 文件的基本操作 320
14.2.1 判断文件是否存在 320
14.2.2 创建文件 321
14.2.3 复制或移动文件 323
14.2.4 删除文件 325
14.2.5 获取文件基本信息 326
14.3 文件夹的基本操作 327
14.3.1 判断文件夹是否存在 327
14.3.2 创建文件夹 328
14.3.3 移动文件夹 330
14.3.4 删除文件夹 331
14.3.5 遍历文件夹 332
14.4 数据流操作文件 334
14.4.1 简述流操作 335
14.4.2 使用文件流读写文件 335
14.4.3 读写文本文件 338
14.4.4 读写二进制文件 340
14.4.5 情景应用:比较两个文件内容是否相同 343
14.5 实战练习 344
14.5.1 实现批量复制文件 344
14.5.2 删除文件夹中所有文件和子目录 345
14.6 本章小结 346
第15章 使用gdi+技术绘图 347
15.1 创建基本绘图对象 348
15.1.1 简述gdi+技术 348
15.1.2 创建graphics对象 348
15.1.3 创建font对象 349
15.1.4 创建pen对象 349
15.1.5 创建brush对象 349
15.2 使用gdi+绘制基本图形 351
15.2.1 绘制直线 352
15.2.2 绘制矩形 353
15.2.3 绘制椭圆 353
15.2.4 绘制圆弧 354
15.2.5 绘制扇形 355
15.2.6 绘制多边形 356
15.2.7 绘制文本 356
15.2.8 绘制图形 357
15.2.9 情景应用:绘制柱形图 358
15.3 实战练习 360
15.3.1 使用gdi+绘制波形图 360
15.3.2 在图片中写入文字 361
15.4 本章小结 361
第16章 打印和制作报表 362
16.1 windows打印控件 363
16.1.1 使用pagesetupdialog控件设置页面 363
16.1.2 使用printdialog控件设置打印机 364
16.1.3 使用printdocument控件设置打印文档 365
16.2 简述水晶报表 367
16.3 .net中的水晶报表 367
16.3.1 简述水晶报表设计器 367
16.3.2 划分水晶报表区域 368
16.3.3 列举水晶报表数据源 368
16.3.4 水晶报表的数据访问模式 369
16.4 操作水晶报表 369
16.4.1 创建水晶报表及连接数据源 369
16.4.2 分组、排序及筛选水晶报表中的数据 372
16.4.3 在水晶报表中绘制图表 374
16.4.4 情景应用:设计一个信封标签报表 375
16.5 实战练习 376
16.5.1 使用水晶报表显示考生信息 376
16.5.2 使用水晶报表统计销售百分比 376
16.6 本章小结 377
第17章 应用线程技术编程 378
17.1 简述线程 379
17.1.1 简述单线程 379
17.1.2 简述多线程 379
17.1.3 线程的生命周期 380
17.2 线程调度 381
17.2.1 简述thread类 381
17.2.2 创建线程 383
17.2.3 挂起与恢复线程 384
17.2.4 线程休眠 385
17.2.5 终止与阻止线程 385
17.2.6 情景应用:使用多线程制作端口扫描工具 387
17.3 线程同步 390
17.3.1 简述线程同步机制 391
17.3.2 使用lock关键字实现线程同步 391
17.3.3 使用monitor类实现线程同步 392
17.4 实战练习 393
17.4.1 创建线程来连接并操作数据库 393
17.4.2 创建线程复制文件并显示进度条 394
17.5 本章小结 395
第18章 熟悉网络通信技术 396
18.1 计算机网络基础 397
18.1.1 局域网与因特网 397
18.1.2 网络协议 397
18.1.3 端口及套接字 400
18.2 网络编程技术 400
18.2.1 system.net命名空间 400
18.2.2 system.net.sockets命名空间 404
18.2.3 system.net.mail命名空间 409
18.2.4 情景应用:制作局域网聊天程序 411
18.3 实战练习 413
18.3.1 建立tcp服务器 413
18.3.2 建立tcp客户端 414
18.4 本章小结 414
第19章 操作注册表 415
19.1 注册表基础知识 416
19.1.1 简述注册表 416
19.1.2 展示注册表的结构 416
19.2 操作注册表 417
19.2.1 读取注册表中信息 417
19.2.2 创建和修改注册表信息 419
19.2.3 删除注册表中信息 421
19.2.4 情景应用:利用注册表设计注册软件 424
19.3 实战练习 425
19.3.1 添加“用记事本打开”快捷菜单项 425
19.3.2 控制软件的试用次数 426
19.4 本章小结 427
第20章 调试和打包应用程序 428
20.1 简述程序调试 429
20.2 调试应用程序 429
20.2.1 设置断点调试程序 429
20.2.2 开始、中断和停止程序的
执行 430
20.2.3 使用单步执行调试程序 431
20.2.4 运行到程序的指定位置 432
20.3 打包应用程序 432
20.3.1 简介windows installer 432
20.3.2 创建windows安装项目 433
20.3.3 制作windows安装程序 434
20.4 本章小结 438
第21章 了解c#3.0新技术 439
21.1 简述c# 3.0的新技术 440
21.2 列举c# 3.0的新特性 440
21.2.1 使用隐式类型var声明变量 440
21.2.2 使用对象初始化器创建对象 441
21.2.3 使用集合初始化器创建集合对象 442
21.2.4 使用扩展方法向现有类型中添加新方法 443
21.2.5 使用匿名类型创建对象 444
21.2.6 使用lambda 表达式过滤数据 445
21.2.7 定义自动实现的属性 447
21.2.8 使用linq技术操作数据 449
21.2.9 情景应用:使用查询表达式判断用户登录 451
21.3 实战练习 453
21.3.1 使用初始化器封装学生信息 453
21.3.2 使用lambda 表达式获取学生信息 454
21.4 本章小结 454
第4篇 实战篇
第22章 文档管理系统 456
22.1 系统分析 457
22.1.1 需求分析 457
22.1.2 开发工具选择 457
22.2 总体设计 457
22.2.1 项目规划 457
22.2.2 系统业务流程分析 458
22.2.3 系统功能结构 458
22.3 系统设计 458
22.3.1 设计目标 458
22.3.2 开发及运行环境 459
22.3.3 数据库设计 459
22.4 技术准备 460
22.4.1 文件的复制、修改和删除 461
22.4.2 文件夹的复制、修改和删除 461
22.5 公共模块设计 462
22.5.1 文件及文件夹模块设计 462
22.5.2 公共类设计 463
22.6 主要功能模块设计 483
22.6.1 主窗体设计 483
22.6.2 文件夹和资料集操作窗体 487
22.6.3 文件操作窗体 490
22.6.4 导入/导出窗体 496
22.7 疑难问题分析与解决 498
22.7.1 获取本地计算机的驱动器名称 498
22.7.2 文件夹的复制 498
22.8 程序调试与错误处理 500
22.9 技术、经验总结 501
22.9.1 技术总结 502
22.9.2 经验总结 502
第23章 进销存管理系统 503
23.1 系统分析 504
23.1.1 需求分析 504
23.1.2 开发工具选择 504
23.2 总体设计 504
23.2.1 项目规划 504
23.2.2 系统业务流程分析 505
23.2.3 系统功能结构 505
23.3 系统设计 505
23.3.1 设计目标 506
23.3.2 开发及运行环境 506
23.3.3 数据库设计 506
23.4 技术准备 509
23.4.1 水晶报表的配置 509
23.4.2 水晶报表的使用 510
23.5 公共模块设计 510
23.5.1 文件及文件夹模块设计 510
23.5.2 公共类设计 510
23.6 主要功能模块设计 511
23.6.1 系统登录设计 511
23.6.2 采购进货管理设计 511
23.6.3 库存调拨管理设计 511
23.6.4 员工信息报表设计 512
23.6.5 商品进货分析报表设计 512
23.6.6 系统用户设计 512
23.7 疑难问题分析与解决 513
23.8 程序调试与错误处理 514
23.9 技术、经验总结 514
23.9.1 技术总结 515
23.9.2 经验总结 515
附录a 专业术语表 516
第1篇 基础篇
第1章 认识c#语言 17
1.1 简介c#语言 18
1.1.1 介绍c#语言产生背景 18
1.1.2 比较c#与其他语言的技术优势 19
1.1.3 了解c#语言的优良特性 19
1.1.4 纵观c#语言发展趋势 20
1.1.5 列举c#语言开发的成功案例 21
1.1.6 使用c#语言开发的领域 21
1.2 学好c#语言的方法 22
1.3 本章小结 23
第2章 熟悉c#程序开发环境 24
2.1 介绍c#程序开发工具 25
2.2 简介.net framework框架 26
2.2.1 认识.net framework 26
2.2.2 讨论c#与.net的关系 27
2.3 安装集成开发环境microsoft visual studio 2008 27
2.3.1 安装和卸载microsoft visual studio 2008 27
2.3.2 安装microsoft visual studio 2008 msdn帮助 30
.2.3.3 如何使用msdn帮助 32
2.4 熟悉visual studio 2008开发环境 33
2.4.1 启动visual studio 2008开发平台 33
2.4.2 创建控制台应用程序 34
2.4.3 创建windows应用程序 35
2.4.4 主窗口 36
2.4.5 菜单栏 37
2.4.6 工具栏 38
2.4.7 “工具箱”窗口 39
2.4.8 “解决方案资源管理器”窗口 40
2.4.9 “属性”窗口 40
2.4.10 “窗体设计”窗口 40
2.4.11 “错误列表”窗口 41
2.4.12 “输出”窗口 41
2.5 本章小结 42
第3章 掌握c#语言基础 43
3.1 编写第一个c#应用程序 44
3.2 认识c#程序的基本构成 45
3.2.1 使用命名空间组织c#程序 45
3.2.2 认识什么是类 47
3.2.3 入口方法main 48
3.2.4 标识符及关键字 48
3.2.5 c#语句 49
3.2.6 注释程序代码 50
3.3 数据类型 50
3.3.1 数据类型的分类 51
3.3.2 使用值类型 51
3.3.3 使用引用类型 54
3.4 常量与变量 55
3.4.1 声明和使用常量 55
3.4.2 声明变量 57
3.4.3 定义变量的作用域 58
3.4.4 给变量赋值 58
3.5 转换数据类型 59
3.5.1 隐式类型转换 59
3.5.2 显式类型转换 60
3.5.3 什么是装箱和拆箱 61
3.5.4 应用装箱和拆箱操作 61
3.6 使用运算符进行计算 63
3.6.1 使用算术运算符 63
3.6.2 使用赋值运算符 66
3.6.3 使用关系运算符 67
3.6.4 使用布尔逻辑运算符 71
3.6.5 使用条件逻辑运算符 73
3.6.6 使用位移运算符 75
3.6.7 使用其他运算符 77
3.6.8 运算符优先级 79
3.6.9 情景应用:制作用户登录程序 80
3.7 实战练习 81
3.7.1 用“+”运算符进行加法和串连字符串 81
3.7.2 使用“?:”运算符判断奇偶数 82
3.8 本章小结 82
第4章 掌握c#控制语句 83
4.1 选择语句 84
4.1.1 使用if语句实现单分支选择结构 84
4.1.2 使用if…else语句实现双分支选择结构 85
4.1.3 使用if…else if…else语句实现多分支选择结构 86
4.1.4 嵌套if语句或if…else语句的使用 87
4.1.5 使用switch语句实现多分支选择 89
4.1.6 情景应用:使用if…else语句判断付款方式 91
4.2 循环语句 92
4.2.1 使用while语句循环执行语句 92
4.2.2 使用do…while语句至少执行一次循环 93
4.2.3 使用for语句实现代码循环 94
4.2.4 使用foreach语句遍历集合 97
4.3 跳转语句 97
4.3.1 使用break语句实现程序跳转 98
4.3.2 使用continue语句实现程序跳转 99
4.3.3 使用return语句实现程序跳转 100
4.4 实战练习 101
4.4.1 把数字1~7转换成星期 101
4.4.2 使用while语句计算前n个自然数之和 101
4.5 本章小结 102
第5章 熟悉字符和字符串 103
5.1 char字符类 104
5.1.1 定义一个字符 104
5.1.2 应用char类 104
5.1.3 使用转义字符 106
5.2 string字符串类 107
5.2.1 简述string类 107
5.2.2 应用string类 108
5.2.3 比较字符串 109
5.2.4 格式化字符串 111
5.2.5 截取字符串 112
5.2.6 情景应用:截取文件的名称及路径 113
5.3 stringbuilder字符串类 113
5.3.1 简述stringbuilder类 114
5.3.2 应用stringbuilder类 114
5.3.3 区分stringbuilder类与string类 115
5.4 实战练习 116
5.4.1 颠倒输出字符串中的每个字符 116
5.4.2 去掉字符串中的所有空格 116
5.5 本章小结 117
第6章 熟悉数组和集合 118
6.1 认识数组 119
6.2 静态数组 119
6.2.1 声明一维数组 119
6.2.2 调用一维数组元素 120
6.2.3 声明二维数组 121
6.2.4 调用二维数组元素 122
6.3 动态数组 123
6.3.1 声明动态数组 123
6.3.2 调用动态数组 124
6.4 操作数组 125
6.4.1 输入与输出数组 125
6.4.2 定位数组 126
6.4.3 遍历数组 127
6.4.4 排序数组 128
6.4.5 情景应用:拆分一个二维数组 131
6.5 arraylist集合类 132
6.5.1 简述arraylist类 132
6.5.2 添加arraylist元素 133
6.5.3 删除arraylist元素 135
6.5.4 查找arraylist元素 137
6.5.5 遍历arraylist集合 137
6.6 实战练习 138
6.6.1 把在控制台输入的数字存入数组 138
6.6.2 添加数组元素到arraylist集合中 139
6.7 本章小结 139
第7章 掌握c#面向对象程序设计 140
7.1 学习面向对象编程 141
7.1.1 认识什么是面向对象编程 141
7.1.2 了解面向对象编程的特点 141
7.2 使用类封装成员 142
7.2.1 介绍类的概念 142
7.2.2 声明一个类 142
7.2.3 访问类的成员 143
7.2.4 情景应用:使用类来封装药品信息 144
7.3 创建和使用对象 145
7.3.1 创建一个对象 145
7.3.2 论述类与对象的关系 146
7.4 使用构造方法和析构方法 147
7.4.1 使用构造方法创建对象 147
7.4.2 使用析构方法销毁对象 148
7.5 使用方法封装功能 149
7.5.1 声明一个方法 149
7.5.2 使用静态和非静态方法 151
7.5.3 方法的重载 152
7.6 使用字段、属性和索引器存储数据 154
7.6.1 使用字段存储数据 154
7.6.2 使用属性存储数据 155
7.6.3 使用索引器存储数据 158
7.7 理解封装、继承和多态 159
7.7.1 应用封装特性隐藏实现细节 159
7.7.2 应用继承特性扩展已存在类 161
7.7.3 应用多态特性减少程序紧耦合 163
7.7.4 情景应用:通过多态增加程序的灵活性 165
7.8 使用结构和枚举类型 166
7.8.1 使用结构类型封装成员 166
7.8.2 使用枚举类型改善程序 167
7.9 实战练习 169
7.9.1 使用属性记录用户编号和姓名 169
7.9.2 使用继承特性实现计算梯形面积 170
7.10 本章小结 170
第8章 处理程序异常 171
8.1 概述异常处理 172
8.2 异常处理语句 172
8.2.1 使用try…catch语句捕获并处理异常 173
8.2.2 使用throw语句抛出异常 174
8.2.3 使用try…catch…finally语句捕获并处理异常 176
8.2.4 情景应用:捕获数学四则运算中的异常 177
8.3 实战练习 178
8.3.1 捕获除数为0的异常 178
8.3.2 捕获数组越界异常 179
8.4 本章小结 179
第2篇 核心篇
第9章 介绍winform窗体 181
9.1 创建winform窗体 182
9.1.1 简述winform窗体 182
9.1.2 添加和删除窗体 183
9.1.3 使用多个窗体 184
9.1.4 设置窗体的属性 184
9.1.5 显示与隐藏窗体 187
9.1.6 触发窗体的事件 187
9.1.7 情景应用一:设计一个系统登录窗体 189
9.1.8 情景应用二:制作启动欢迎界面 190
9.2 创建mdi窗体 191
9.2.1 简述mdi窗体 191
9.2.2 如何设置mdi窗体 191
9.2.3 排列mdi子窗体 192
9.3 创建模态窗体和非模态窗体 194
9.3.1 创建模态窗体 194
9.3.2 创建非模态窗体 195
9.4 通过继承创建窗体 195
9.4.1 简述继承窗体 196
9.4.2 使用编程方式创建继承窗体 196
9.4.3 使用继承选择器创建继承窗体 197
9.4.4 在继承窗体中修改继承的控件属性 197
9.5 实战练习 198
9.5.1 制作半透明渐显窗体 198
9.5.2 制作标题栏文字右对齐的窗体 199
9.6 本章小结 199
第10章 使用winform常用控件编程 200
10.1 简述控件 201
10.2 操作控件 201
10.2.1 添加控件 202
10.2.2 对齐控件 202
10.2.3 锁定控件 202
10.2.4 删除控件 203
10.3 文本类控件 203
10.3.1 使用标签控件(label控件)显示文字 203
10.3.2 使用文本框控件(textbox控件)输入数据 204
10.3.3 使用有格式文本控件(richtextbox控件)输入数据 206
10.3.4 情景应用:制作图片和文字混合编辑工具 209
10.4 动作类控件 210
10.5 选择类控件 211
10.5.1 使用下拉组合框控件(combobox控件)选择数据 211
10.5.2 使用复选框控件(checkbox控件)选择选项 213
10.5.3 使用单选按钮控件(radiobutton控件)选择唯一选项 214
10.5.4 使用数值选择控件(numericupdown控件)显示数据 216
10.5.5 使用列表控件(listbox控件)显示多项数据 218
10.5.6 情景应用:使用combobox控件选择职位 220
10.6 容器类控件 220
10.6.1 使用容器控件(panel控件)划分窗体 221
10.6.2 使用分组框控件(groupbox控件)对控件分组 222
10.6.3 使用选项卡控件(tabcontrol控件)把窗体设计成多页 222
10.7 菜单、工具栏和状态栏控件 225
10.7.1 使用menustrip控件创建菜单 226
10.7.2 使用toolstrip控件创建工具栏 227
10.7.3 使用statusstrip控件创建状态栏 228
10.8 公共对话框 229
10.8.1 “打开”对话框 229
10.8.2 “另存为”对话框 230
10.8.3 “浏览文件夹”对话框 232
10.9 实战练习 233
10.9.1 在button中显示人性化图标 233
10.9.2 在textbox中只允许输入数字 234
10.10 本章小结 234
第11章 熟悉高级控件、组件及自定义控件 235
11.1 imagelist控件(存储图像控件) 236
11.1.1 在imagelist控件中添加图像 236
11.1.2 在imagelist控件中移除图像 237
11.2 listview控件(列表视图控件) 238
11.2.1 在listview控件中添加或移除项目 239
11.2.2 选择listview控件中的项目 241
11.2.3 为listview控件中的项目添加图标 242
11.2.4 在listview控件中启用平铺视图 243
11.3 treeview控件(树控件) 244
11.3.1 添加和删除树节点 244
11.3.2 获取树控件中选中的节点 246
11.3.3 设置树控件中节点的图标 247
11.3.4 情景应用:使用treeview显示部门结构 248
11.4 datetimepicker控件(日期控件) 249
11.4.1 使用datetimepicker控件显示时间 250
11.4.2 使用datetimepicker控件以自定义格式显示日期 251
11.4.3 返回datetimepicker控件中选择的日期 252
11.5 progressbar控件(进度条控件) 253
11.6 windows组件 254
11.6.1 使用errorprovider组件验证文本框输入 254
11.6.2 使用helpprovider组件调用帮助文件 256
11.6.3 使用timer组件设置时间间隔 257
11.6.4 情景应用:制作闹钟计时器 258
11.7 自定义控件 261
11.8 实战练习 263
11.8.1 在listview中添加书名目录 263
11.8.2 仿制windows资源管理器 263
11.9 本章小结 264
第12章 应用ado.net技术操作数据库 265
12.1 介绍ado.net技术 266
12.1.1 简述ado.net 266
12.1.2 ado.net访问数据库的模式 266
12.2 使用connection对象连接数据库 267
12.2.1 简述connection对象 267
12.2.2 创建数据库连接 268
12.2.3 关闭数据库连接 269
12.3 使用command对象操作数据库 271
12.3.1 简述command对象 271
12.3.2 设置数据源类型 271
12.3.3 执行sql语句 273
12.3.4 情景应用一:获取sql server服务器日期 275
12.3.5 情景应用二:保存任意文件到sql server数据库 276
12.4 使用datareader对象读取数据 277
12.4.1 简述datareader对象 277
12.4.2 判断查询结果中是否有值 278
12.4.3 读取数据 279
12.5 使用dataadapter对象操作数据 279
12.5.1 简述dataadapter对象 280
12.5.2 填充dataset数据集 280
12.5.3 更新数据源 281
12.6 使用dataset对象查询数据 283
12.6.1 简述dataset对象 283
12.6.2 合并dataset内容 284
12.6.3 复制dataset内容 285
12.7 使用datagridview控件操作数据 286
12.7.1 简述datagridview控件 286
12.7.2 使用datagridview控件显示数据 287
12.7.3 获取datagridview控件中的当前单元格 288
12.8 实战练习 289
12.8.1 实现向数据库中插入员工信息 289
12.8.2 实现修改数据库中的员工信息 290
12.9 本章小结 290
第13章 掌握c#面向对象高级技术 291
13.1 接口和抽象类 292
13.1.1 声明接口 292
13.1.2 定义接口的成员 293
13.1.3 使用两种方式实现接口 294
13.1.4 声明抽象类 296
13.1.5 声明抽象方法 297
13.1.6 实现抽象类及抽象方法 298
13.1.7 区分抽象类与接口 299
13.1.8 情景应用:使用接口作为方法参数编程 299
13.2 使用泛型将类型参数化 300
13.2.1 简述泛型 300
13.2.2 如何定义类型参数t 301
13.2.3 使用泛型 301
13.3 使用迭代器遍历数据 303
13.3.1 简述迭代器 303
13.3.2 创建迭代器 304
13.3.3 使用迭代器 304
13.4 内部类、分部类和密封类 305
13.4.1 声明和使用内部类 305
13.4.2 声明和使用分部类 306
13.4.3 声明和使用密封类 307
13.5 实战练习 310
13.5.1 通过实现接口计算矩形面积 310
13.5.2 通过实现抽象类计算圆形面积 311
13.6 本章小结 311
第3篇 高级篇
第14章 操作文件及数据流 313
14.1 system.io命名空间 314
14.1.1 简述system.io命名空间 314
14.1.2 file类和directory类 314
14.1.3 fileinfo类和
directoryinfo类 317
14.2 文件的基本操作 320
14.2.1 判断文件是否存在 320
14.2.2 创建文件 321
14.2.3 复制或移动文件 323
14.2.4 删除文件 325
14.2.5 获取文件基本信息 326
14.3 文件夹的基本操作 327
14.3.1 判断文件夹是否存在 327
14.3.2 创建文件夹 328
14.3.3 移动文件夹 330
14.3.4 删除文件夹 331
14.3.5 遍历文件夹 332
14.4 数据流操作文件 334
14.4.1 简述流操作 335
14.4.2 使用文件流读写文件 335
14.4.3 读写文本文件 338
14.4.4 读写二进制文件 340
14.4.5 情景应用:比较两个文件内容是否相同 343
14.5 实战练习 344
14.5.1 实现批量复制文件 344
14.5.2 删除文件夹中所有文件和子目录 345
14.6 本章小结 346
第15章 使用gdi+技术绘图 347
15.1 创建基本绘图对象 348
15.1.1 简述gdi+技术 348
15.1.2 创建graphics对象 348
15.1.3 创建font对象 349
15.1.4 创建pen对象 349
15.1.5 创建brush对象 349
15.2 使用gdi+绘制基本图形 351
15.2.1 绘制直线 352
15.2.2 绘制矩形 353
15.2.3 绘制椭圆 353
15.2.4 绘制圆弧 354
15.2.5 绘制扇形 355
15.2.6 绘制多边形 356
15.2.7 绘制文本 356
15.2.8 绘制图形 357
15.2.9 情景应用:绘制柱形图 358
15.3 实战练习 360
15.3.1 使用gdi+绘制波形图 360
15.3.2 在图片中写入文字 361
15.4 本章小结 361
第16章 打印和制作报表 362
16.1 windows打印控件 363
16.1.1 使用pagesetupdialog控件设置页面 363
16.1.2 使用printdialog控件设置打印机 364
16.1.3 使用printdocument控件设置打印文档 365
16.2 简述水晶报表 367
16.3 .net中的水晶报表 367
16.3.1 简述水晶报表设计器 367
16.3.2 划分水晶报表区域 368
16.3.3 列举水晶报表数据源 368
16.3.4 水晶报表的数据访问模式 369
16.4 操作水晶报表 369
16.4.1 创建水晶报表及连接数据源 369
16.4.2 分组、排序及筛选水晶报表中的数据 372
16.4.3 在水晶报表中绘制图表 374
16.4.4 情景应用:设计一个信封标签报表 375
16.5 实战练习 376
16.5.1 使用水晶报表显示考生信息 376
16.5.2 使用水晶报表统计销售百分比 376
16.6 本章小结 377
第17章 应用线程技术编程 378
17.1 简述线程 379
17.1.1 简述单线程 379
17.1.2 简述多线程 379
17.1.3 线程的生命周期 380
17.2 线程调度 381
17.2.1 简述thread类 381
17.2.2 创建线程 383
17.2.3 挂起与恢复线程 384
17.2.4 线程休眠 385
17.2.5 终止与阻止线程 385
17.2.6 情景应用:使用多线程制作端口扫描工具 387
17.3 线程同步 390
17.3.1 简述线程同步机制 391
17.3.2 使用lock关键字实现线程同步 391
17.3.3 使用monitor类实现线程同步 392
17.4 实战练习 393
17.4.1 创建线程来连接并操作数据库 393
17.4.2 创建线程复制文件并显示进度条 394
17.5 本章小结 395
第18章 熟悉网络通信技术 396
18.1 计算机网络基础 397
18.1.1 局域网与因特网 397
18.1.2 网络协议 397
18.1.3 端口及套接字 400
18.2 网络编程技术 400
18.2.1 system.net命名空间 400
18.2.2 system.net.sockets命名空间 404
18.2.3 system.net.mail命名空间 409
18.2.4 情景应用:制作局域网聊天程序 411
18.3 实战练习 413
18.3.1 建立tcp服务器 413
18.3.2 建立tcp客户端 414
18.4 本章小结 414
第19章 操作注册表 415
19.1 注册表基础知识 416
19.1.1 简述注册表 416
19.1.2 展示注册表的结构 416
19.2 操作注册表 417
19.2.1 读取注册表中信息 417
19.2.2 创建和修改注册表信息 419
19.2.3 删除注册表中信息 421
19.2.4 情景应用:利用注册表设计注册软件 424
19.3 实战练习 425
19.3.1 添加“用记事本打开”快捷菜单项 425
19.3.2 控制软件的试用次数 426
19.4 本章小结 427
第20章 调试和打包应用程序 428
20.1 简述程序调试 429
20.2 调试应用程序 429
20.2.1 设置断点调试程序 429
20.2.2 开始、中断和停止程序的
执行 430
20.2.3 使用单步执行调试程序 431
20.2.4 运行到程序的指定位置 432
20.3 打包应用程序 432
20.3.1 简介windows installer 432
20.3.2 创建windows安装项目 433
20.3.3 制作windows安装程序 434
20.4 本章小结 438
第21章 了解c#3.0新技术 439
21.1 简述c# 3.0的新技术 440
21.2 列举c# 3.0的新特性 440
21.2.1 使用隐式类型var声明变量 440
21.2.2 使用对象初始化器创建对象 441
21.2.3 使用集合初始化器创建集合对象 442
21.2.4 使用扩展方法向现有类型中添加新方法 443
21.2.5 使用匿名类型创建对象 444
21.2.6 使用lambda 表达式过滤数据 445
21.2.7 定义自动实现的属性 447
21.2.8 使用linq技术操作数据 449
21.2.9 情景应用:使用查询表达式判断用户登录 451
21.3 实战练习 453
21.3.1 使用初始化器封装学生信息 453
21.3.2 使用lambda 表达式获取学生信息 454
21.4 本章小结 454
第4篇 实战篇
第22章 文档管理系统 456
22.1 系统分析 457
22.1.1 需求分析 457
22.1.2 开发工具选择 457
22.2 总体设计 457
22.2.1 项目规划 457
22.2.2 系统业务流程分析 458
22.2.3 系统功能结构 458
22.3 系统设计 458
22.3.1 设计目标 458
22.3.2 开发及运行环境 459
22.3.3 数据库设计 459
22.4 技术准备 460
22.4.1 文件的复制、修改和删除 461
22.4.2 文件夹的复制、修改和删除 461
22.5 公共模块设计 462
22.5.1 文件及文件夹模块设计 462
22.5.2 公共类设计 463
22.6 主要功能模块设计 483
22.6.1 主窗体设计 483
22.6.2 文件夹和资料集操作窗体 487
22.6.3 文件操作窗体 490
22.6.4 导入/导出窗体 496
22.7 疑难问题分析与解决 498
22.7.1 获取本地计算机的驱动器名称 498
22.7.2 文件夹的复制 498
22.8 程序调试与错误处理 500
22.9 技术、经验总结 501
22.9.1 技术总结 502
22.9.2 经验总结 502
第23章 进销存管理系统 503
23.1 系统分析 504
23.1.1 需求分析 504
23.1.2 开发工具选择 504
23.2 总体设计 504
23.2.1 项目规划 504
23.2.2 系统业务流程分析 505
23.2.3 系统功能结构 505
23.3 系统设计 505
23.3.1 设计目标 506
23.3.2 开发及运行环境 506
23.3.3 数据库设计 506
23.4 技术准备 509
23.4.1 水晶报表的配置 509
23.4.2 水晶报表的使用 510
23.5 公共模块设计 510
23.5.1 文件及文件夹模块设计 510
23.5.2 公共类设计 510
23.6 主要功能模块设计 511
23.6.1 系统登录设计 511
23.6.2 采购进货管理设计 511
23.6.3 库存调拨管理设计 511
23.6.4 员工信息报表设计 512
23.6.5 商品进货分析报表设计 512
23.6.6 系统用户设计 512
23.7 疑难问题分析与解决 513
23.8 程序调试与错误处理 514
23.9 技术、经验总结 514
23.9.1 技术总结 515
23.9.2 经验总结 515
附录a 专业术语表 516
C#学习手册
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!