第1篇 基础知识
第1章 初识C#及其开发环境3
视频讲解:50分钟
1.1 C#概述4
1.1.1 C#语言及其特点4
1.1.2 C#与.NET框架5
1.2 安装与卸载Visual Studio 20085
1.2.1 安装Visual Studio 2008系统的必备条件5
1.2.2 安装Visual Studio 20086
1.2.3 卸载Visual Studio 20089
1.3 熟悉Visual Studio 2008开发环境9
1.3.1 创建项目10
1.3.2 菜单栏11
1.3.3 工具栏13
1.3.4 “工具箱”面板13
1.3.5 “属性”面板14
1.3.6 “错误列表”面板15
1.3.7 “输出”面板15
1.4 Visual Studio 2008帮助系统15
1.4.1 安装MSDN15
1.4.2 使用MSDN18
1.5 小结20
第2章 开始C#之旅21
视频讲解:16分钟
2.1 编写第一个C#程序22
2.2 初识C#程序结构23
2.2.1 注释23
2.2.2 命名空间24
2.2.3 类25
2.2.4 Main方法25
2.2.5 标识符及关键字26
2.2.6 C#语句26
2.3 程序编写规范26
2.3.1 代码书写规则27
2.3.2 命名规范27
2.4 小结29
第3章 变量与常量31
视频讲解:19分钟
3.1 变量的基本概念32
3.2 变量类型32
3.2.1 值类型32
3.2.2 引用类型34
3.2.3 值类型与引用类型的区别35
3.2.4 枚举类型37
3.2.5 类型转换39
3.3 变量操作42
3.3.1 声明变量42
3.3.2 变量的作用域43
3.3.3 变量的赋值43
3.4 常量44
3.5 小结45
3.6 实践与练习45
第4章 表达式与运算符47
视频讲解:15分钟
4.1 表达式48
4.2 运算符48
4.2.1 算术运算符48
4.2.2 赋值运算符51
4.2.3 关系运算符52
4.2.4 逻辑运算符55
4.2.5 移位运算符58
4.2.6 其他特殊运算符59
4.3 运算符优先级61
4.4 小结62
4.5 实践与练习62
第1篇 基础知识
第1章 初识C#及其开发环境3
视频讲解:50分钟
1.1 C#概述4
1.1.1 C#语言及其特点4
1.1.2 C#与.NET框架5
1.2 安装与卸载Visual Studio 20085
1.2.1 安装Visual Studio 2008系统的必备条件5
1.2.2 安装Visual Studio 20086
1.2.3 卸载Visual Studio 20089
1.3 熟悉Visual Studio 2008开发环境9
1.3.1 创建项目10
1.3.2 菜单栏11
1.3.3 工具栏13
1.3.4 “工具箱”面板13
1.3.5 “属性”面板14
1.3.6 “错误列表”面板15
1.3.7 “输出”面板15
1.4 Visual Studio 2008帮助系统15
1.4.1 安装MSDN15
1.4.2 使用MSDN18
1.5 小结20
第2章 开始C#之旅21
视频讲解:16分钟
2.1 编写第一个C#程序22
2.2 初识C#程序结构23
2.2.1 注释23
2.2.2 命名空间24
2.2.3 类25
2.2.4 Main方法25
2.2.5 标识符及关键字26
2.2.6 C#语句26
2.3 程序编写规范26
2.3.1 代码书写规则27
2.3.2 命名规范27
2.4 小结29
第3章 变量与常量31
视频讲解:19分钟
3.1 变量的基本概念32
3.2 变量类型32
3.2.1 值类型32
3.2.2 引用类型34
3.2.3 值类型与引用类型的区别35
3.2.4 枚举类型37
3.2.5 类型转换39
3.3 变量操作42
3.3.1 声明变量42
3.3.2 变量的作用域43
3.3.3 变量的赋值43
3.4 常量44
3.5 小结45
3.6 实践与练习45
第4章 表达式与运算符47
视频讲解:15分钟
4.1 表达式48
4.2 运算符48
4.2.1 算术运算符48
4.2.2 赋值运算符51
4.2.3 关系运算符52
4.2.4 逻辑运算符55
4.2.5 移位运算符58
4.2.6 其他特殊运算符59
4.3 运算符优先级61
4.4 小结62
4.5 实践与练习62
第5章 字符与字符串63
视频讲解:28分钟
5.1 字符类Char的使用64
5.1.1 Char类概述64
5.1.2 Char类的使用64
5.1.3 转义字符66
5.2 字符串类String的使用67
5.2.1 String类概述68
5.2.2 String类的使用68
5.2.3 比较字符串69
5.2.4 格式化字符串71
5.2.5 截取字符串72
5.2.6 分割字符串73
5.2.7 插入和填充字符串73
5.2.8 删除字符串75
5.2.9 复制字符串76
5.2.10 替换字符串77
5.3 可变字符串类StringBuilder的使用78
5.3.1 StringBuilder类的定义78
5.3.2 StringBuilder类的使用79
5.3.3 StringBuilder类与String类的区别80
5.4 小结80
5.5 实践与练习80
第6章 流程控制语句81
视频讲解:29分钟
6.1 选择语句82
6.1.1 if…else语句82
6.1.2 使用switch语句实现多分支选择85
6.2 迭代语句87
6.2.1 while语句87
6.2.2 do…while语句89
6.2.3 for语句90
6.2.4 foreach语句91
6.3 跳转语句92
6.3.1 break语句93
6.3.2 continue语句94
6.3.3 goto语句95
6.3.4 return语句96
6.4 小结97
6.5 实践与练习97
第7章 数组和集合99
视频讲解:52分钟
7.1 数组概述100
7.2 一维数组的声明和使用100
7.2.1 一维数组的声明100
7.2.2 一维数组的使用102
7.3 二维数组的声明和使用102
7.3.1 二维数组的声明103
7.3.2 二维数组的使用103
7.3.3 动态二维数组的声明及使用104
7.4 数组的基本操作106
7.4.1 如何遍历数组106
7.4.2 添加/删除数组元素106
7.4.3 对数组进行排序107
7.4.4 数组的合并与拆分110
7.5 ArrayList类112
7.5.1 ArrayList类概述112
7.5.2 ArrayList元素的添加114
7.5.3 ArrayList元素的删除116
7.5.4 ArrayList的遍历118
7.5.5 ArrayList元素的查找119
7.6 Hashtable(哈希表)119
7.6.1 Hashtable概述119
7.6.2 Hashtable元素的添加120
7.6.3 Hashtable元素的删除121
7.6.4 Hashtable的遍历122
7.6.5 Hashtable元素的查找122
7.7 小结123
7.8 实践与练习124
第8章 属性和方法125
视频讲解:19分钟
8.1 属性126
8.1.1 属性概述126
8.1.2 属性的使用127
8.2 方法129
8.2.1 方法的声明129
8.2.2 方法的分类130
8.2.3 方法的重载131
8.2.4 Main方法132
8.3 小结132
8.4 实践与练习133
第9章 结构和类135
视频讲解:29分钟
9.1 结构136
9.1.1 结构概述136
9.1.2 结构的使用137
9.2 类138
9.2.1 面向对象概述138
9.2.2 类的概念139
9.2.3 类的声明139
9.2.4 构造函数和析构函数140
9.2.5 对象的声明和实例化142
9.2.6 类与对象的关系144
9.3 类的面向对象特性144
9.3.1 类的封装144
9.3.2 类的继承146
9.3.3 类的多态148
9.4 小结150
9.5 实践与练习150
第2篇 核心技术
第10章 面向对象技术高级应用153
视频讲解:19分钟
10.1 接口154
10.1.1 接口的概念及声明154
10.1.2 接口的实现与继承155
10.1.3 显式接口成员实现158
10.2 抽象类与抽象方法160
10.2.1 抽象类概述及声明160
10.2.2 抽象方法概述及声明160
10.2.3 抽象类与抽象方法的使用161
10.2.4 抽象类与接口162
10.3 密封类与密封方法163
10.3.1 密封类概述及声明163
10.3.2 密封方法概述及声明164
10.3.3 密封类与密封方法的使用164
10.4 小结166
10.5 实践与练习166
第11章 异常处理167
视频讲解:10分钟
11.1 异常处理概述168
11.2 异常处理语句168
11.2.1 try…catch语句169
11.2.2 throw语句170
11.2.3 try…catch…finally语句172
11.3 小结173
11.4 实践与练习173
第12章 Windows窗体175
视频讲解:38分钟
12.1 Form窗体176
12.1.1 Form窗体的概念176
12.1.2 添加和删除窗体176
12.1.3 多窗体的使用178
12.1.4 窗体的属性179
12.1.5 窗体的显示与隐藏182
12.1.6 窗体的事件183
12.2 MDI窗体185
12.2.1 MDI窗体的概念185
12.2.2 如何设置MDI窗体186
12.2.3 排列MDI子窗体187
12.3 继承窗体189
12.3.1 继承窗体的概念189
12.3.2 创建继承窗体189
12.3.3 在继承窗体中修改继承的控件属性191
12.4 小结192
12.5 实践与练习192
第13章 Windows应用程序常用控件193
视频讲解:1小时15分钟
13.1 控件概述194
13.1.1 控件的分类及作用194
13.1.2 控件命名规范194
13.2 控件的相关操作195
13.2.1 添加控件195
13.2.2 对齐控件196
13.2.3 锁定控件196
13.2.4 删除控件196
13.3 文本类控件197
13.3.1 标签控件(Label控件)197
13.3.2 按钮控件(Button控件)198
13.3.3 文本框控件(TextBox控件)199
13.3.4 有格式文本
控件(RichTextBox控件)202
13.4 选择类控件206
13.4.1 下拉组合框控件(ComboBox控件)206
13.4.2 复选框控件(CheckBox控件)208
13.4.3 单选按钮控件(RadioButton控件)210
13.4.4 数值选择
控件(NumericUpDown控件)212
13.4.5 列表控件(ListBox控件)213
13.5 分组类控件217
13.5.1 容器控件(Panel控件)217
13.5.2 分组框控件(GroupBox控件)218
13.5.3 选项卡控件(TabControl控件)219
13.6 菜单、工具栏和状态栏控件223
13.6.1 菜单控件(MenuStrip控件)224
13.6.2 工具栏控件(ToolStrip控件)225
13.6.3 状态栏控件(StatusStrip控件)226
13.7 小结227
13.8 实践与练习228
第14章 Windows应用程序高级控件229
视频讲解:51分钟
14.1 ImageList控件(存储图像控件)230
14.1.1 在ImageList控件中添加图像230
14.1.2 在ImageList控件中移除图像231
14.2 ListView控件(列表视图控件)233
14.2.1 在ListView控件中添加移除项233
14.2.2 选择ListView控件中的项236
14.2.3 为ListView控件中的项添加图标236
14.2.4 在ListView控件中启用平铺视图237
14.2.5 为ListView控件中的项分组238
14.3 TreeView控件(树控件)240
14.3.1 添加和删除树节点241
14.3.2 获取树控件中选中的节点243
14.3.3 为树控件中的节点设置图标244
14.4 DateTimePicker控件(日期控件)245
14.4.1 使用DateTimePicker控件显示时间245
14.4.2 使用DateTimePicker控件以自定义
格式显示日期246
14.4.3 返回DateTimePicker控件中选择的
日期248
14.5 MonthCalendar控件(月历控件)248
14.5.1 更改MonthCalendar控件的外观249
14.5.2 在MonthCalendar控件中显示多个
月份250
14.5.3 在MonthCalendar控件中以粗体显示
特定日期251
14.5.4 在MonthCalendar控件中选择日期
范围251
14.6 其他高级控件252
14.6.1 使用ErrorProvider控件验证文本框
输入252
14.6.2 使用HelpProvider控件调用帮助文件255
14.6.3 使用Timer控件设置时间间隔256
14.6.4 使用ProgressBar控件显示程序运行
进度条257
14.7 小结258
14.8 实践与练习258
第15章 数据访问技术259
视频讲解:37分钟
15.1 数据库基础260
15.1.1 数据库简介260
15.1.2 SQL语言简介260
15.1.3 数据库的创建及删除261
15.1.4 数据表的创建及删除262
15.1.5 简单SQL语句的应用263
15.2 ADO.NET简介270
15.3 连接数据库:Connection对象270
15.3.1 Connection对象概述271
15.3.2 连接数据库271
15.3.3 关闭连接272
15.4 执行SQL语句:Command对象274
15.4.1 Command对象概述274
15.4.2 设置数据源类型275
15.4.3 执行SQL语句276
15.5 读取数据:DataReader对象279
15.5.1 DataReader对象概述279
15.5.2 判断查询结果中是否有值280
15.5.3 读取数据281
15.6 数据适配器:DataAdapter对象281
15.6.1 DataAdapter对象概述282
15.6.2 填充DataSet数据集282
15.6.3 更新数据源283
15.7 数据集:DataSet对象285
15.7.1 DataSet对象概述285
15.7.2 合并DataSet内容286
15.7.3 复制DataSet内容287
15.8 小结289
15.9 实践与练习289
第16章 DataGridView数据控件291
视频讲解:19分钟
16.1 DataGridView控件概述292
16.2 在DataGridView控件中显示数据292
16.3 获取DataGridView控件中的当前
单元格293
16.4 直接在DataGridView控件中修改
数据294
16.5 当选中DataGridView控件中的行时
显示不同的颜色297
16.6 禁止在DataGridView控件中添加和
删除行298
16.7 使用Columns和Rows属性添加
数据299
16.8 小结300
16.9 实践与练习300
第17章 程序调试303
视频讲解:11分钟
17.1 程序调试概述304
17.2 常用的程序调试操作304
17.2.1 断点操作304
17.2.2 开始、中断和停止程序的执行305
17.2.3 单步执行307
17.2.4 运行到指定位置307
17.3 小结307
第3篇 高级应用
第18章 迭代器和分部类311
视频讲解:8分钟
18.1 迭代器312
18.1.1 迭代器概述312
18.1.2 迭代器的使用312
18.2 分部类313
18.2.1 分部类概述313
18.2.2 分部类的使用314
18.3 小结316
18.4 实践与练习316
第19章 泛型的使用317
视频讲解:7分钟
19.1 泛型概述318
19.2 泛型的使用318
19.2.1 类型参数T318
19.2.2 泛型接口319
19.2.3 泛型方法320
19.3 小结321
19.4 实践与练习321
第20章 文件及数据流技术323
视频讲解:57分钟
20.1 System.IO命名空间324
20.1.1 File类和Directory类324
20.1.2 FileInfo类和DirectoryInfo类328
20.2 文件基本操作331
20.2.1 判断文件是否存在331
20.2.2 创建文件332
20.2.3 复制或移动文件333
20.2.4 删除文件334
20.2.5 获取文件的基本信息335
20.3 文件夹的基本操作336
20.3.1 判断文件夹是否存在336
20.3.2 创建文件夹337
20.3.3 移动文件夹338
20.3.4 删除文件夹339
20.3.5 遍历文件夹339
20.4 数据流342
20.4.1 流操作类介绍342
20.4.2 文件流类342
20.4.3 文本文件的写入与读取344
20.4.4 二进制文件的写入与读取347
20.5 小结349
20.6 实践与练习349
第21章 帮助文件的使用351
视频讲解:19分钟
21.1 帮助文件概述352
21.2 制作帮助文件352
21.2.1 安装Microsoft Help Workshop352
21.2.2 制作帮助内容文件353
21.2.3 制作帮助索引文件356
21.2.4 制作帮助文件358
21.3 帮助文件的使用360
21.4 小结360
第22章 GDI+图形图像技术361
视频讲解:27分钟
22.1 GDI+绘图基础362
22.1.1 GDI+概述362
22.1.2 创建Graphics对象362
22.1.3 创建Pen对象363
22.1.4 创建Brush对象363
22.2 基本图形绘制366
22.2.1 GDI+中的直线和矩形366
22.2.2 GDI+中的椭圆、圆弧和扇形368
22.2.3 GDI+中的多边形371
22.3 GDI+绘图的应用372
22.3.1 绘制柱形图372
22.3.2 绘制折线图375
22.3.3 绘制饼形图377
22.4 小结379
22.5 实践与练习380
第23章 水晶报表与打印381
视频讲解:40分钟
23.1 水晶报表简介382
23.2 .NET平台下的Crystal报表382
23.2.1 Crystal Reports.Net简介382
23.2.2 Crystal报表设计器的环境介绍382
23.2.3 Crystal报表区域介绍383
23.3 Crystal报表数据源和数据访问模式384
23.3.1 Visual Studio 2008中Crystal报表
数据源列举384
23.3.2 报表的数据访问模式384
23.4 水晶报表的基本操作385
23.4.1 创建水晶报表并连接数据源385
23.4.2 水晶报表中数据的分组与排序388
23.4.3 水晶报表中数据的筛选390
23.4.4 在水晶报表中使用图表393
23.5 Windows打印控件395
23.5.1 PageSetupDialog控件395
23.5.2 PrintDialog控件397
23.5.3 PrintDocument控件399
23.5.4 PrintPreviewControl控件400
23.5.5 PrintPreviewDialog控件402
23.6 小结403
23.7 实践与练习403
第24章 网络编程技术405
视频讲解:1小时3分钟
24.1 网络编程基础406
24.1.1 System.Net命名空间406
24.1.2 System.Net.Sockets命名空间413
24.1.3 System.Net.Mail命名空间419
24.1.4 POP3协议422
24.2 开发网络应用程序424
24.2.1 创建Web页面浏览器425
24.2.2 局域网聊天程序426
24.2.3 电子邮件的发送与接收428
24.3 小结432
24.4 实践与练习433
第25章 注册表技术435
视频讲解:30分钟
25.1 注册表基础436
25.1.1 Windows注册表概述436
25.1.2 Registry和RegistryKey类436
25.2 在C#中操作注册表438
25.2.1 读取注册表中的信息438
25.2.2 创建和修改注册表信息441
25.2.3 删除注册表中的信息443
25.3 注册表的应用446
25.3.1 电脑桌面图标设置447
25.3.2 “开始”菜单与任务栏设置449
25.4 小结452
25.5 实践与练习452
第26章 线程的使用453
视频讲解:21分钟
26.1 线程简介454
26.1.1 单线程简介454
26.1.2 多线程简介454
26.2 线程的基本操作455
26.2.1 Thread类455
26.2.2 创建线程457
26.2.3 线程的挂起与恢复458
26.2.4 线程休眠459
26.2.5 终止线程460
26.2.6 线程的优先级462
26.2.7 线程同步463
26.3 小结467
26.4 实践与练习467
第27章 Windows应用程序打包469
视频讲解:10分钟
27.1 Windows Installer介绍470
27.2 创建Windows安装项目470
27.3 制作Windows安装程序471
27.3.1 添加项目输出文件472
27.3.2 添加内容文件472
27.3.3 创建快捷方式474
27.3.4 添加注册表项474
27.3.5 生成Windows安装程序476
27.4 小结476
第4篇 项目实战
第28章 企业人事管理系统481
视频讲解:1小时32分钟
28.1 系统分析482
28.1.1 需求分析482
28.1.2 可行性分析482
28.1.3 编写项目计划书483
28.2 系统设计485
28.2.1 系统目标485
28.2.2 系统功能结构485
28.2.3 系统业务流程图486
28.2.4 系统编码规范487
28.3 系统运行环境490
28.4 数据库与数据表设计491
28.4.1 数据库分析491
28.4.2 创建数据库491
28.4.3 创建数据表493
28.4.4 数据表逻辑关系499
28.5 创建项目501
28.6 公共类设计503
28.6.1 MyMeans公共类503
28.6.2 MyModule公共类505
28.7 登录模块设计520
28.7.1 设计登录窗体520
28.7.2 按Enter键时移动鼠标焦点521
28.7.3 登录功能的实现521
28.8 系统主窗体设计522
28.8.1 设计菜单栏523
28.8.2 设计工具栏524
28.8.3 设计导航菜单525
28.8.4 设计状态栏526
28.9 人事档案管理模块设计527
28.9.1 设计人事档案管理窗体528
28.9.2 添加/修改人事档案信息530
28.9.3 删除人事档案信息532
28.9.4 单条件查询人事档案信息533
28.9.5 逐条查看人事档案信息535
28.9.6 将人事档案信息导出为Word文档537
28.10 人事资料查询模块设计542
28.10.1 设计人事资料查询窗体542
28.10.2 多条件查询人事资料543
28.11 通讯录模块设计544
28.11.1 设计通讯录窗体544
28.11.2 添加/修改通讯录信息545
28.11.3 删除通讯录信息547
28.11.4 查询通讯录信息548
28.12 用户设置模块设计549
28.12.1 设计用户设置窗体549
28.12.2 添加/修改用户信息549
28.12.3 删除用户基本信息551
28.12.4 设置用户操作权限552
28.13 数据库维护模块设计553
28.13.1 设计数据库维护窗体553
28.13.2 备份数据库554
28.13.3 还原数据库555
28.14 运行项目556
28.15 系统打包部署558
28.16 开发的常见问题与解决562
28.16.1 程序为什么会无法运行562
28.16.2 为什么无法添加职工基本信息562
28.16.3 选择职工头像时出现异常怎么办563
28.16.4 数据库还原不成功应该如何解决563
28.16.5 打包程序时出现错误怎么办564
28.17 小结564
附录565