第1章 认识Visual C# 001
1.1 Visual C#概述 002
1.1.1 Visual C#发展历程 002
1.1.2 C#语言编程环境 002
1.2 .NET Framework 3.5简介 002
1.2.1 什么是.NET Framework 002
1.2.2 .NET Framework 3.5特性 003
1.3 安装集成开发环境Microsoft Visual Studio 2008 004
1.3.1 安装Microsoft Visual Studio 2008开发环境 004
1.3.2 安装Microsoft Visual Studio 2008 MSDN帮助 007
1.3.3 如何使用MSDN帮助 010
1.3.4 利用MSDN帮助附带的示例学习编程 011
1.4 创建第一个C#程序 012
1.4.1 创建项目 012
1.4.2 设计界面 014
1.4.3 编写代码 014
1.4.4 调试运行 015
1.4.5 保存项目 016
1.5 本章小结 016
第2章 C#语言基础 017
2.1 C#语言简介 018
2.2 数据类型 018
2.2.1 什么是数据类型 018
2.2.2 值类型的使用 018
2.2.3 引用类型的使用 018
2.2.4 什么是装箱和拆箱 020
2.2.5 装箱和拆箱的使用 020
2.3 常量与变量 020
2.3.1 声明和使用常量 020
2.3.2 声明变量 021
2.3.3 变量的作用域 022
2.3.4 变量的赋值 022
2.4 数据类型转换 023
2.4.1 隐式类型转换 023
2.4.2 显式类型转换 023
2.5 C#中运算符的使用 024
2.5.1 算术运算符的使用 024
2.5.2 赋值运算符的使用 026
2.5.3 关系运算符的使用 028
2.5.4 逻辑运算符的使用 028
2.5.5 位运算的使用 028
2.5.6 其他特殊运算符 029
2.5.7 运算符优先级 030
2.6 字符串处理 031
2.6.1 比较字符串 031
2.6.2 定位字符及子串 032
2.6.3 格式化字符串 034
2.6.4 截取字符串 034
2.6.5 分割字符串 035
2.6.6 插入和填充字符串 036
2.6.7 删除和剪切字符串 036
2.6.8 复制字符串 038
2.6.9 替换字符串 039
2.6.10 StringBuilder的定义与使用 039
2.6.11 可变字符串类StringBuilder与String的区别 041
2.7 程序编写规范 041
2.7.1 代码书写规则 041
2.7.2 命名规范 042
2.8 注释 043
2.8.1 注释的作用 044
2.8.2 如何使用注释 044
2.9 本章小结 044
第3章 C#语句控制 045
3.1 选择语句 046
3.1.1 使用if语句实现单分支选择结构 046
3.1.2 使用if…else语句实现双分支选择结构 046
3.1.3 使用if…else if…else语句实现多分支选择结构 047
3.1.4 嵌套if语句的使用 050
3.1.5 使用Switch语句实现多分支选择 051
3.2 迭代语句 053
3.2.1 使用while循环语句控制程序 053
3.2.2 使用do while循环语句控制程序 054
3.2.3 使用for循环语句控制程序 055
3.2.4 使用foreach循环语句控制程序 056
3.3 跳转语句 057
3.3.1 使用break语句实现程序跳转 057
3.3.2 使用continue语句实现程序跳转 059
3.3.3 使用goto语句实现程序跳转 059
3.3.4 使用return语句实现程序跳转 061
3.4 异常处理语句 062
3.4.1 throw语句 062
3.4.2 try-catch语句 063
3.4.3 try-catch-finally语句 064
3.5 本章小结 065
第1章 认识Visual C# 001
1.1 Visual C#概述 002
1.1.1 Visual C#发展历程 002
1.1.2 C#语言编程环境 002
1.2 .NET Framework 3.5简介 002
1.2.1 什么是.NET Framework 002
1.2.2 .NET Framework 3.5特性 003
1.3 安装集成开发环境Microsoft Visual Studio 2008 004
1.3.1 安装Microsoft Visual Studio 2008开发环境 004
1.3.2 安装Microsoft Visual Studio 2008 MSDN帮助 007
1.3.3 如何使用MSDN帮助 010
1.3.4 利用MSDN帮助附带的示例学习编程 011
1.4 创建第一个C#程序 012
1.4.1 创建项目 012
1.4.2 设计界面 014
1.4.3 编写代码 014
1.4.4 调试运行 015
1.4.5 保存项目 016
1.5 本章小结 016
第2章 C#语言基础 017
2.1 C#语言简介 018
2.2 数据类型 018
2.2.1 什么是数据类型 018
2.2.2 值类型的使用 018
2.2.3 引用类型的使用 018
2.2.4 什么是装箱和拆箱 020
2.2.5 装箱和拆箱的使用 020
2.3 常量与变量 020
2.3.1 声明和使用常量 020
2.3.2 声明变量 021
2.3.3 变量的作用域 022
2.3.4 变量的赋值 022
2.4 数据类型转换 023
2.4.1 隐式类型转换 023
2.4.2 显式类型转换 023
2.5 C#中运算符的使用 024
2.5.1 算术运算符的使用 024
2.5.2 赋值运算符的使用 026
2.5.3 关系运算符的使用 028
2.5.4 逻辑运算符的使用 028
2.5.5 位运算的使用 028
2.5.6 其他特殊运算符 029
2.5.7 运算符优先级 030
2.6 字符串处理 031
2.6.1 比较字符串 031
2.6.2 定位字符及子串 032
2.6.3 格式化字符串 034
2.6.4 截取字符串 034
2.6.5 分割字符串 035
2.6.6 插入和填充字符串 036
2.6.7 删除和剪切字符串 036
2.6.8 复制字符串 038
2.6.9 替换字符串 039
2.6.10 StringBuilder的定义与使用 039
2.6.11 可变字符串类StringBuilder与String的区别 041
2.7 程序编写规范 041
2.7.1 代码书写规则 041
2.7.2 命名规范 042
2.8 注释 043
2.8.1 注释的作用 044
2.8.2 如何使用注释 044
2.9 本章小结 044
第3章 C#语句控制 045
3.1 选择语句 046
3.1.1 使用if语句实现单分支选择结构 046
3.1.2 使用if…else语句实现双分支选择结构 046
3.1.3 使用if…else if…else语句实现多分支选择结构 047
3.1.4 嵌套if语句的使用 050
3.1.5 使用Switch语句实现多分支选择 051
3.2 迭代语句 053
3.2.1 使用while循环语句控制程序 053
3.2.2 使用do while循环语句控制程序 054
3.2.3 使用for循环语句控制程序 055
3.2.4 使用foreach循环语句控制程序 056
3.3 跳转语句 057
3.3.1 使用break语句实现程序跳转 057
3.3.2 使用continue语句实现程序跳转 059
3.3.3 使用goto语句实现程序跳转 059
3.3.4 使用return语句实现程序跳转 061
3.4 异常处理语句 062
3.4.1 throw语句 062
3.4.2 try-catch语句 063
3.4.3 try-catch-finally语句 064
3.5 本章小结 065
第4章 数组 066
4.1 数组简介 067
4.1.1 数组的概述 067
4.1.2 数组的应用 067
4.2 静态数组 068
4.2.1 一维数组的声明 068
4.2.2 一维数组元素的调用 068
4.2.3 二维数组的声明和调用 069
4.2.4 多维数组 071
4.3 动态数组 072
4.3.1 动态数组的声明 072
4.3.2 声明动态数组的注意事项 074
4.4 数组的基本操作 074
4.4.1 输入与输出数组 074
4.4.2 如何定位数组 076
4.4.3 如何遍历数组 078
4.4.4 增加删除数组元素 079
4.4.5 对数组进行排序 082
4.4.6 数组的合并与拆分 084
4.4.7 数组应用典型实例 088
4.5 本章小结 089
第5章 面向对象编程 090
5.1 面向对象编程 091
5.1.1 什么是面向对象编程 091
5.1.2 面向对象编程语言的特点 091
5.2 类 092
5.2.1 类的概念 092
5.2.2 类的声明 092
5.2.3 类成员的访问 092
5.2.4 类成员的保护 093
5.3 对象 093
5.3.1 对象的声明和实例化 093
5.3.2 类与对象的关系 094
5.4 构造函数和析构函数 094
5.4.1 构造函数的概念及使用 095
5.4.2 析构函数的概念及使用 095
5.5 枚举 096
5.5.1 什么是枚举 096
5.5.2 枚举的定义 096
5.5.3 枚举的使用 097
5.6 方法 098
5.6.1 方法的声明 098
5.6.2 方法的参数 099
5.6.3 静态和非静态方法的使用 100
5.6.4 方法的重载 101
5.7 封装、继承和多态 102
5.7.1 封装的概念及用途 102
5.7.2 封装的使用 102
5.7.3 继承的概念及用途 103
5.7.4 继承的使用 103
5.7.5 多态的概念及用途 104
5.7.6 多态的使用 104
5.8 接口 105
5.8.1 接口的概念 106
5.8.2 声明接口 106
5.8.3 接口的成员 106
5.8.4 接口的实现 107
5.8.5 抽象类与接口 108
5.9 域和属性 109
5.9.1 域的概念及用途 109
5.9.2 域的声明 109
5.9.3 属性的概念及用途 110
5.9.4 属性的声明 110
5.10 泛型 111
5.10.1 泛型概述及优点 111
5.10.2 泛型中的类型参数T 111
5.10.3 泛型的使用 112
5.11 匿名方法 115
5.11.1 什么是匿名方法 115
5.11.2 匿名方法的使用 115
5.12 迭代器 116
5.12.1 什么是迭代器 116
5.12.2 创建迭代器 117
5.12.3 迭代器的使用 117
5.13 分部类 118
5.13.1 什么是分部类 118
5.13.2 定义分部类 118
5.13.3 分部类的使用 118
5.14 事件和索引器 119
5.14.1 事件的概念及用途 119
5.14.2 事件的声明及使用 119
5.14.3 索引器的概念及用途 120
5.14.4 索引器的声明及使用 121
5.15 本章小结 121
第6章 熟悉WinForms应用程序 122
6.1 窗体设计器 123
6.1.1 创建窗体 123
6.1.2 使用窗体设计器 125
6.2 使用工具 126
6.2.1 熟悉工具箱 126
6.2.2 认识控件属性框 128
6.2.3 认识解决方案资源管理器 129
6.2.4 认识服务器资源管理器 131
6.3 本章小结 135
第7章 WinForms窗体介绍 136
7.1 Form窗体 137
7.1.1 Form窗体概述 137
7.1.2 Form窗体的使用 137
7.2 MDI窗体 138
7.2.1 MDI窗体概述 138
7.2.2 MDI窗体的使用 139
7.3 继承窗体 140
7.3.1 继承窗体概述 140
7.3.2 继承窗体的使用 141
7.4 本章小结 142
第8章 WinForms应用程序开发常用控件 143
8.1 控件概述 144
8.1.1 控件的作用 144
8.1.2 控件的属性、方法和事件 144
8.2 控件的分类 146
8.2.1 常用控件 147
8.2.2 容器控件 147
8.2.3 数据控件 147
8.2.4 打印控件 147
8.2.5 对话框控件 148
8.3 控件的相关操作 148
8.3.1 添加控件 148
8.3.2 对齐控件 148
8.3.3 调整控件的前后顺序 148
8.3.4 锁定控件 149
8.3.5 删除控件 149
8.4 文本类控件 149
8.4.1 应用Label控件 149
8.4.2 应用LinkLabel控件 152
8.4.3 应用Button控件 154
8.4.4 应用TextBox控件 157
8.4.5 应用RichTextBox控件 159
8.5 选择类控件 162
8.5.1 应用ComboBox控件 162
8.5.2 应用CheckBox控件 164
8.5.3 应用CheckedListBox控件 167
8.5.4 应用RadioButton控件 169
8.5.5 应用NumericUpDown控件 170
8.5.6 应用ListBox控件 173
8.6 容器控件 177
8.6.1 应用Panel控件 177
8.6.2 应用GroupBox控件 179
8.6.3 应用TabControl控件 180
8.7 组件 183
8.7.1 应用ErrorProvider组件 183
8.7.2 应用Timer组件 185
8.7.3 应用ImageList组件 187
8.7.4 应用FileSystemWatcher组件 189
8.7.5 应用HelpProvider组件 192
8.8 其他常用控件 194
8.8.1 应用ListView控件 194
8.8.2 应用TreeView控件 198
8.8.3 应用PictrueBox控件 200
8.8.4 应用NotifyIcon控件 203
8.8.5 应用DateTimePicker控件 205
8.8.6 应用MonthCalendar控件 207
8.8.7 应用ToolTip控件 209
8.8.8 应用ProgressBar控件 211
8.9 本章小结 214
第9章 菜单栏、工具栏和状态栏设计 215
9.1 菜单栏 216
9.1.1 菜单栏概念和用途 216
9.1.2 菜单栏设计 217
9.2 工具栏 218
9.2.1 工具栏概念和用途 218
9.2.2 工具栏设计 218
9.3 状态栏 220
9.3.1 状态栏概念和用途 220
9.3.2 状态栏设计 220
9.4 本章小结 221
第10章 对话框 222
10.1 消息对话框 223
10.1.1 什么是消息对话框 223
10.1.2 消息对话框的使用 223
10.2 “关于”对话框 231
10.2.1 什么是“关于”对话框 231
10.2.2 “关于”对话框的使用 231
10.3 公共对话框 232
10.3.1 “打开”对话框的使用 232
10.3.2 “另存为”对话框的使用 235
10.3.3 “颜色”对话框的使用 237
10.3.4 “字体”对话框的使用 240
10.3.5 “浏览文件夹”对话框的使用 242
10.4 本章小结 244
第11章 使用ADO.NET操作数据库 245
11.1 使用ADO.NET访问数据库 246
11.1.1 ADO.NET访问数据库的模式 246
11.1.2 数据库命名空间 247
11.2 ADO.NET对象模型 251
11.2.1 Connection对象 251
11.2.2 Command对象 253
11.2.3 DataReader对象 256
11.2.4 DataSet对象 258
11.2.5 DataAdapter对象 262
11.3 应用DataGridView控件 264
11.3.1 DataGridView控件的属性 264
11.3.2 DataGridView控件的方法 266
11.3.3 DataGridView控件的事件 269
11.3.4 DataGridView控件的使用 271
11.4 数据库开发基本操作 272
11.4.1 向数据库中添加数据 272
11.4.2 修改数据库中数据 273
11.4.3 删除数据库中数据 274
11.4.4 查询数据库中数据 276
11.5 本章小结 278
第12章 文件处理技术 279
12.1 System.IO命名空间 280
12.1.1 File类和Directory类 281
12.1.2 FileInfo类和DirectoryInfo类 283
12.1.3 FileStream类 284
12.1.4 StreamWriter类 287
12.1.5 StreamReader类 289
12.2 文件的基本操作 290
12.2.1 判断文件是否存在 290
12.2.2 创建文件 291
12.2.3 复制或移动文件 291
12.2.4 删除文件 291
12.2.5 获取文件基本信息 291
12.3 文件夹的基本操作 291
12.3.1 判断文件夹是否存在 292
12.3.2 创建文件夹 292
12.3.3 移动文件夹 292
12.3.4 删除文件夹 292
12.3.5 遍历文件夹中文件 292
12.4 文件写入和读取 293
12.4.1 文本文件的写入 293
12.4.2 文本文件的读取 294
12.5 解压缩文件 294
12.5.1 使用GZip解压缩文件 295
12.5.2 使用WinRAR解压缩文件 297
12.6 本章小结 299
第13章 HTML帮助文件的制作 300
13.1 HTML帮助文件概述 301
13.2 制作HTML帮助文件 301
13.2.1 安装Microsoft HTML Help Workshop 301
13.2.2 制作HTML帮助主题文件 302
13.2.3 制作HTML帮助项目文件 303
13.2.4 制作目录和目录文件 306
13.2.5 制作关键字和索引文件 308
13.2.6 制作.chm文件 311
13.3 HTML帮助文件的使用 312
13.4 本章小结 312
第14章 GDI+技术 313
14.1 GDI+概述 314
14.2 基本图形绘制 314
14.2.1 绘制直线 314
14.2.2 绘制矩形 315
14.2.3 绘制椭圆 316
14.2.4 绘制圆弧 317
14.2.5 绘制多边形 319
14.2.6 绘制基数样条 320
14.2.7 绘制贝塞尔样条 321
14.2.8 绘制图形路径 323
14.3 GDI+在实际开发中的应用 324
14.3.1 利用柱形图分析每月的商品销售情况 324
14.3.2 利用折线图分析网站访问流量 327
14.3.3 利用饼形图分析公司男女比例 330
14.4 本章小结 331
第15章 Windows打印控件 332
15.1 PrintDocument组件 333
15.1.1 PrintDocument组件的属性 333
15.1.2 PrintDocument组件的方法 334
15.1.3 PrintDocument组件的事件 334
15.1.4 PrintDocument组件的应用 335
15.2 PrintPreviewDialog组件 337
15.2.1 PrintPreviewDialog组件的属性 337
15.2.2 PrintPreviewDialog组件的方法 338
15.2.3 PrintPreviewDialog组件的应用 338
15.3 PrintPreviewControl组件 339
15.3.1 PrintPreviewControl组件的属性 339
15.3.2 PrintPreviewControl组件的方法 341
15.3.3 PrintPreviewControl组件的应用 341
15.4 PrintDialog组件 342
15.4.1 PrintDialog组件的属性 343
15.4.2 PrintDialog组件的方法 344
15.4.3 PrintDialog组件的应用 344
15.5 PageSetupDialog组件 345
15.5.1 PageSetupDialog组件的属性 346
15.5.2 PageSetupDialog组件的方法 346
15.5.3 PageSetupDialog组件的应用 347
15.6 本章小结 348
第16章 网络开发技术 349
16.1 System.Net命名空间 350
16.1.1 DNS类 350
16.1.2 DnsPermission类 352
16.1.3 WebRequest类 353
16.1.4 WebClient类 353
16.2 System.Net.Socket命名空间 353
16.2.1 什么是套接字 354
16.2.2 Socket类的属性、方法 354
16.3 开发网络应用程序 361
16.3.1 开发UDP协议聊天程序 361
16.3.2 开发TCP/IP协议聊天室 362
16.4 电子邮件的发送与接收 364
16.4.1 MailMessage类和SmtpClient类的作用 364
16.4.2 POP3类的作用 365
16.4.3 电子邮件的发送 366
16.4.4 电子邮件的接收 367
16.5 本章小结 372
第17章 注册表应用 373
17.1 注册表基础知识 374
17.1.1 注册表概述 374
17.1.2 注册表的结构 374
17.2 读写注册表 376
17.2.1 读取注册表信息 377
17.2.2 向注册表中写入信息 379
17.3 注册表应用 381
17.3.1 将软件使用次数写入注册表 381
17.3.2 通过注册表优化系统 382
17.4 本章小结 383
第18章 程序调试 384
18.1 什么是断点操作 385
18.2 如何使用开始、中断和停止执行功能 385
18.3 什么是单步执行 387
18.4 如何运行到指定位置 387
18.5 本章小结 387
第19章 Windows应用程序打包与安装 388
19.1 Windows Installer简介 389
19.2 Windows应用程序部署 389
19.2.1 创建部署项目 389
19.2.2 可选的部署功能 391
19.3 安装及卸载Windows程序 394
19.3.1 在本地计算机上安装 394
19.3.2 部署到其他计算机 395
19.3.3 卸载安装应用程序 395
19.4 本章小结 395
第20章 C# 3.5新特性 396
20.1 C# 3.5概述 397
20.2 隐藏类型var 397
20.3 Lambda表达式 398
20.4 扩展方法 399
20.5 LINQ技术 400
20.6 本章小结 403
第21章 库存管理系统 404
21.1 需求分析 405
21.2 系统设计 405
21.2.1 总体规划 405
21.2.2 系统功能结构图 406
21.2.3 开发及运行环境 406
21.3 系统命名规则 406
21.3.1 数据库命名规范 406
21.3.2 程序代码命名规范 408
21.4 数据库设计 408
21.4.1 数据表概要说明 408
21.4.2 主要数据表的结构 409
21.4.3 存储过程的创建 411
21.4.4 触发器的创建 414
21.5 系统总体架构 417
21.5.1 文件夹架构 417
21.5.2 程序文件架构 417
21.6 公共类编写 418
21.6.1 DataCon类 419
21.6.2 DataOperate类 420
21.7 系统模块设计 424
21.7.1 系统登录模块设计 424
21.7.2 供应商信息设置模块设计 426
21.7.3 货物入库管理模块设计 429
21.7.4 货物出库管理模块设计 432
21.7.5 借货管理模块设计 435
21.7.6 还货管理模块设计 438
21.7.7 库存信息查询模块设计 441
21.7.8 出入库货物年统计模块设计 443
21.8 疑难问题解析 444
21.8.1 货物入库时更新货物信息表 444
21.8.2 通过饼型图分析货物出入库情况 445
21.9 本章小结 446
第22章 人事工资管理系统 447
22.1 需求分析 448
22.2 系统设计 448
22.2.1 总体规划 448
22.2.2 系统功能结构图 448
22.2.3 开发及运行环境 449
22.3 数据库设计 449
22.3.1 数据表概要说明 449
22.3.2 主数据表的结构 450
22.4 系统总体架构 452
22.4.1 文件夹架构 452
22.4.2 文件架构 452
22.5 公共类编写 453
22.5.1 DBConnection类 454
22.5.2 DBOperate类 454
22.6 系统模块设计 458
22.6.1 系统登录模块设计 458
22.6.2 系统主窗体设计 459
22.6.3 档案管理窗体 461
22.6.4 奖罚管理窗体 469
22.6.5 调动管理窗体 474
22.6.6 考评管理窗体 478
22.6.7 考勤津贴窗体 483
22.6.8 工资总结窗体 486
22.7 疑难问题解析 488
22.8 本章小结 488
附录 实例快速检索 489