第1篇 C#语言基础 1
第1章 DotNet与C#概述 2
1.1 DotNet概述 2
1.1.1 什么是DotNet 2
1.1.2.NET Framework 2
1.2 Visual Studio 2010 4
1.2.1 VisualStudio 2010组件 4
1.2.2 安装和配置VisualStudio 2010 4
1.3 C#概述 5
1.3.1 C#语言简介 5
1.3.2 C#语言的特点 5
1.4 开始第一个C#应用程序 7
1.4.1 第一个简单的控制台应用程序 7
1.4.2 简单的Windows应用程序 10
本章小结 14
第2章 变量与数据类型 15
2.1 数据与标识符 15
2.1.1 数据与数据类型 15
2.1.2 标识符 15
2.2 变量与常量 16
2.2.1 变量 16
2.2.2 常量 17
2.3 基本数据类型 17
2.3.1 整数类型 17
2.3.2 实数类型 18
2.3.3 布尔类型 20
2.3.4 字符类型 21
2.3.5 数据类型转换 21
2.4 字符串string 23
2.5 DateTime 24
2.6 运算符和表达式 25
本章小结 28
第3章 语句与流程控制 29
3.1 语句 29
3.2 选择语句 30
3.2.1 if语句 30
3.2.2 switch语句 31
3.3 循环语句 32
3.3.1 for语句 33
3.3.2 while语句 35
3.3.3 do…while语句 36
3.3.4 foreach语句 36
3.4 异常处理 37
本章小结 39
第4章 数组与方法 40
4.1 学生成绩统计案例分析 40
4.2 数组 40
4.2.1 一维数组 40
4.2.2 多维数组 42
4.2.3 交错数组 46
4.2.4 数组集合ArrayList 46
4.3 方法 47
4.3.1 方法的定义与使用 47
4.3.2 参数传递 49
4.4 完善学生成绩统计案例 51
本章小结 54
第2篇 Windows程序设计 55
第5章 常用控件的应用 56
5.1 个人简历案例 56
5.2 窗体 57
5.2.1 建立新项目 57
5.2.2 设置窗体属性 59
5.2.3 添加窗体事件 60
5.2.4 在窗体上添加控件 63
5.2.5 添加窗体 64
5.3 常用控件 65
5.3.1 文本标签(Label) 65
5.3.2 按钮(Button) 66
5.3.3 选项卡(TabControl) 67
5.3.4 文本框(TextBox) 69
5.3.5 带掩码的文本框(MaskedTextBox) 71
5.3.6 单选按钮(RadioButton) 73
5.3.7 复选框(CheckBox) 74
5.3.8 组合框(ComboBox) 74
5.3.9 日期时间控件(DateTimePicker) 75
5.3.10 数字调节框(NumericUpDown) 76
5.3.11 图片框(PictureBox) 77
5.3.12 分组框(GroupBox)与面板(Panel) 79
5.3.13 列表框(ListBox和CheckedListBox) 80
5.3.14 树视图(TreeView) 82
5.3.15 列表视图(ListView) 84
5.3.16 滑动条(TrackBar) 86
5.3.17 进度条(ProgressBar) 86
5.3.18 超链接标签(LinkLabel) 87
5.4 生成简历 89
5.5 鼠标事件与键盘事件 92
5.5.1 鼠标事件 92
5.5.2 键盘事件 96
5.6 C#资源管理 98
5.6.1 向项目中添加资源 98
5.6.2 编辑资源 99
5.6.3 ImageList组件 100
本章小结 100
第6章 常用组件 101
6.1 案例:个人简历(续) 101
6.2 案例设计 102
6.2.1 功能设计 102
6.2.2 窗体设计 103
6.3 菜单与工具条 104
6.3.1 菜单(MenuStrip) 104
6.3.2 快捷菜单(ContextMenuStrip) 107
6.3.3 工具条(ToolStrip) 108
6.3.4 状态条(StatusBar) 110
6.4 RichTextBox控件 111
6.5 标准对话框 112
6.5.1 打开文件对话框(OpenFileDialog) 113
6.5.2 保存文件对话框(SaveFileDialog) 115
6.5.3 字体设置对话框(FontDialog) 116
6.5.4 颜色对话框(ColorDialog) 118
6.5.5 打印文档组件(PrintDocument) 118
6.5.6 打印设置对话框(PrintDialog) 119
6.5.7 页面设置对话框(PageSetupDialog) 121
6.5.8 打印预览对话框(PrintPreviewDialog) 122
6.6 计时器(Timer) 122
6.7 自定义控件 123
6.8 完善案例 126
6.8.1 完善菜单系统menuStripl 126
6.8.2 完善快捷菜单contextMenuStripl 133
6.8.3 完善工具条 133
6.8.4 丰富文本框richTextBoxl 137
6.8.5 颜色选取栏 138
6.8.6 其他代码 138
本章小结 140
第3篇 面向对象程序设计 141
第7章 类与对象 142
7.1 面向对象分析与设计 142
7.2 交通工具案例 143
7.3 类的声明 143
7.3.1 类的声明 143
7.3.2 字段 144
7.3.3 属性 145
7.3.4 方法 146
7.3.5 构造函数与析构函数 147
7.4 创建对象 149
7.4.1 创建对象 149
7.4.2 访问对象成员 150
7.5 静态成员和非静态成员 153
7.6 方法重载 154
7.7 结构体与枚举类型 155
7.7.1 结构体 155
7.7.2 枚举类型 157
本章小结 160
第8章 继承与多态 161
8.1 案例分析:交通工具演变规律 161
8.2 派生类 162
8.3 成员隐藏 165
8.4 虚拟方法与方法重写 166
8.5 抽象类与抽象方法 169
8.5.1 声明抽象类和抽象方法 169
8.5.2 重载抽象方法 170
8.6 密封类与密封方法 171
8.6.1 密封类 171
8.6.2 密封方法 171
本章小结 174
第9章 接口、委托和事件 175
9.1 接口 175
9.1.1 定义接口 175
9.1.2 实现接口 176
9.2 委托 178
9.3 事件 180
9.4 完善代码 183
本章小结 187
第4篇 数据库程序设计 188
第10章 数据库程序设计 189
10.1 案例:招聘信息管理系统 189
10.2 软件设计 190
10.2.1 软件功能分析 190
10.2.2 软件工作流程 191
10.2.3 设计用户界面 191
10.3 创建数据库 192
10.3.1 数据库设计 192
10.3.2 建立数据库 195
10.3.3 建立数据库关系 196
10.3.4 建立数据视图 196
10.4 快速操作数据 197
10.5 NET数据库编程概述 199
10.5.1 NET应用程序结构 199
10.5.2 NET数据库应用程序工作过程 200
10.5.3 ADO.NET 201
10.6 NETFramework数据提供程序 202
10.7 连接数据库 203
10.7.1 连接字符串 203
10.7.2 使用应用程序配置文件 205
10.7.3 数据连接Connection 207
10.8 数据操作命令 208
10.8.1 执行命令DbCommand 208
10.8.2 读取数据DataReader 209
10.9 数据集DataSet 212
10.9.1 数据适配器DataAdapter 212
10.9.2 命令生成器CommandBuilder 215
10.9.3 TableAdapter 215
10.9.4 数据集DataSet 216
10.9.5 数据表DataTable 217
10.9.6 LINQ to DataSet 222
10.9.7 Larnbda表达式 226
10.10 数据绑定组件(BindingSource) 228
10.10.1 数据绑定 228
10.10.2 BindingSource组件 229
10.10.3 BindingNavigator控件 230
10.11 完善案例 231
10.11.1 主窗体设计 231
10.11.2 管理员登录 234
10.11.3 应聘信息管理 235
10.11.4 职位管理 239
10.11.5 发布职位信息 240
10.11.6 修改招聘简章 242
10.11.7 应聘者查看职位信息 245
10.11.8 输入个人简历 246
10.11.9 查看/编辑个人简历 255
10.11.10 测试运行并完善文档 258
本章小结 259
第5篇 高级应用程序开发 260
第11章 文件管理 261
11.1 案例:简单资源管理器 261
11.2 目录与文件管理相关类 262
11.2.1 Directory类 262
11.2.2 DirectoryInfo类 263
11.2.3 File类 263
11.2.4 FileInfo类 264
11.3 显示目录树 264
11.4 显示文件列表 268
11.5 文件复制与粘贴 271
11.6 文件拖放 274
11.7 资源管理器其他功能 276
11.8 文件读写 278
11.8.1 FileStream类 278
11.8.2 StreamReader和StreamWriter类 280
本章小结 282
第12章 图形与图像 283
12.1 案例:课件伴侣 283
12.2 Graphics、Pen和Brush 284
12.2.1 图像Graphics 284
12.2.2 画笔Pen 286
12.2.3 画刷Brush 287
12.3 工具栏的制作 289
12.4 屏幕图像的获取(截屏) 290
12.5 图形的绘制 292
12.5.1 随手画 293
12.5.2 直线绘制与橡皮筋效果 294
12.6 设置画笔 294
12.7 屏幕放大和图像漫游 295
12.7.1 屏幕放大 295
12.7.2 图像漫游 296
12.8 路径(GraphicsPath) 297
12.9 区域(Region) 298
12.10 图形变换 299
12.10.1 坐标系类型 299
12.10.2 平移变换和坐标系 299
12.10.3 旋转与缩放变换 300
12.11 色彩变换 300
本章小结 304
第13章 网络编程基础 305
13.1 案例:局域网聊天软件NetChart 305
13.2 通信地址IPEndPoint 307
13.3 网络通信Socket 308
13.3.1 Socket类 308
13.3.2 Socket通信流程 311
13.4 多线程编程基础 312
13.4.1 进程、线程与多线程 312
13.4.2 Thread类 312
13.4.3 一个简单的多线程实例 314
13.5 数据结构与通信协议定义 315
13.6 实现案例:服务器端Server 316
13.7 实现案例:客户端Client 321
本章小结 326
附录A C#运算符 327
附录B C#主要术语 328
参考文献 330