第1篇 C#语言基础 1
第1章 .NET与C#概述 2
1.1.NET概述 2
1.1.1什么是.NET 2
1.1.2.NET Framework 2
1.2 C#概述 4
1.2.1 C#语言简介 4
1.2.2 C#语言的特点 4
1.3开始第一个C#应用程序 6
1.3.1第一个简单的控制台应用程序 6
1.3.2简单的Windows应用程序 8
本章小结 11
第2章 变量与数据类型 12
2.1变量与常量 12
2.1.1变量 12
2.1.2常量的概念及应用 12
2.2基本数据类型 13
2.2.1整数类型 13
2.2.2布尔类型 14
2.2.3字符类型 14
2.2.4字符串类型 14
2.2.5浮点类型与双精度类型 15
2.2.6十进制类型 16
2.2.7数据类型转换 16
2.2.8数值结果输出格式控制 18
2.3运算符和表达式 19
2.4 DateTime 20
本章小结 22
第3章 流程控制 23
3.1分支结构控制 23
3.2循环结构控制 24
3.2.1 for、 while、do...while语句 24
3.2.2 foreach语句 27
3.3异常处理 28
本章小结 30
第4章 数组与方法 31
4.1学生成绩统计案例的介绍 31
4.2数组 31
4.2.1一维数组 31
4.2.2多维数组 33
4.2.3交错数组 34
4.2.4数组集合ArrayList 36
4.3方法 37
4.3.1方法的定义与使用 37
4.3.2参数传递 38
4.4完善学生成绩统计案例 40
本章小结 43
第2篇 Windows程序设计 44
第5章 常用控件的应用 45
5.1个人简历案例 45
5.2窗体 46
5.2.1建立新项目 46
5.2.2设置窗体属性 47
5.2.3添加窗体事件 48
5.2.4添加其他控件 50
5.2.5添加窗体 51
5.3 C#资源管理 52
5.3.1向项目中添加资源 53
5.3.2编辑资源 54
5.3.3 ImageList组件 54
5.4鼠标与键盘事件 54
5.4.1鼠标事件 55
5.4.2键盘事件 58
5.5常用控件 60
5.5.1文本标签(Label) 61
5.5.2按钮(Button) 62
5.5.3选项卡(TabControl) 63
5.5.4文本框(TextBox) 64
5.5.5带掩码的文本框(MaskedTextBox) 66
5.5.6单选按钮(RadioButton) 68
5.5.7复选框(CheckBox) 69
5.5.8组合框(ComboBox) 69
5.5.9列表框(ListBox和CheckedListBox) 70
5.5.10列表视图(ListView) 73
5.5.11日期时间控件(DateTimePicker) 74
5.5.12数字显示框(NumericUpDown) 75
5.5.13图片框(PictureBox) 76
5.5.14分组框(GroupBox)与面板(Panel) 78
5.5.15 树视图(TreeView) 79
5.5.16滑动条(TrackBar) 81
5.5.17进度条(ProgressBar) 82
5.5.18超链接标签(LinkLabel) 82
5.6生成简历 84
本章小结 87
第6章 常用组件 88
6.1案例:个人简历(续) 88
6.2案例设计 89
6.2.1功能设计 89
6.2.2窗体设计 90
6.3菜单与工具条 91
6.3.1菜单(MenuStrip) 91
6.3.2快捷菜单(ContextMenuStrip) 94
6.3.3工具条(ToolStrip) 95
6.3.4状态条(StatusBar) 98
6.4 RichTextBox控件 99
6.5标准对话框 101
6.5.1打开文件对话框(OpenFileDialog) 101
6.5.2保存文件对话框(SaveFileDialog) 104
6.5.3字体设置对话框(FontDialog) 105
6.5.4颜色对话框(ColorDialog) 106
6.5.5打印文档组件(PrintDocument) 107
6.5.6打印设置对话框(PrintDialog) 108
6.5.7页面设置对话框(PageSetupDialog) 110
6.5.8打印预览对话框(PrintPreviewDialog) 110
6.6计时器(Timer) 111
6.7自定义控件 111
6.8完善案例 114
6.8.1完善菜单系统menuStrip 1 114
6.8.2完善快捷菜单contextMenuStrip 1 122
6.8.3完善工具条 122
6.8.4丰富文本框richTextBox 1 126
6.8.5颜色选取栏 127
6.8.6其他代码 127
本章小结 128
第3篇 面向对象程序设计 129
第7章 类与对象 130
7.1面向对象分析与面向对象设计 130
7.2交通工具案例 130
7.3类的声明 131
7.3.1类的定义 131
7.3.2字段 131
7.3.3属性 133
7.3.4方法 134
7.3.5构造函数与析构函数 135
7.4对象的创建 138
7.4.1类对象的创建 138
7.42对象成员的引用 140
7.5类的成员访问与类访问修饰符 142
7.5.1类的成员访问修饰符 142
7.5.2类的访问修饰符 144
7.6 静态成员和非静态成员 144
7.7方法重载 145
本章小结 148
第8章 继承与多态 149
8.1案例分析:交通工具演变规律 149
8.2派生类 150
8.3成员隐藏 152
8.4虚拟方法与方法重写 153
8.5抽象类与抽象方法 156
8.5.1声明抽象类与抽象方法 156
8.5.2重载抽象方法 157
8.6封类与密封方法 158
8.6.1密封类 158
8.6.2密封方法 159
本章小结 160
第9章 接口、委托和事件 161
9.1接口 161
9.1.1接口的含义 161
9.1.2定义接口 161
9.1.3实现接口 163
9.2委托 165
9.3事件 165
9.4完善代码 168
本章小结 173
第4篇 数据库编程 174
第10章 数据库程序设计 175
10.1案例:招聘信息管理系统 175
10.2.NET数据库编程概述 176
10.2.1.NET应用程序结构 176
10.2.2.NET数据库应用程序工作过程 177
10.2.3 ADO.NET 177
10.3软件设计 178
10.3.1软件功能分析 178
10.3.2软件工作流程 178
10.3.3设计用户界面 179
10.4创建数据库 179
10.4.1数据库设计 179
10.4.2建立数据库 183
10.4.3建立数据库关系 183
10.4.4建立数据视图 184
10.5快速操作数据 184
10.6.NET Framework数据提供程序 187
10.7连接数据库 189
10.7.1连接字符串 189
10.7.2使用应用程序配置文件 190
10.7.3连接对象 192
10.8数据操作命令 193
10.9数据集操作(DataSet) 197
10.9.1数据适配器DataAdapter 197
10.9.2 TableAdapter 201
10.9.3数据集DataSet 202
10.9.4数据表DataTable 203
10.9.5 LINQ to DataSet 208
10.10数据绑定组件(BindingSource) 208
10.10.1数据绑定 208
10.10.2 BindingSource组件 209
10.10.3 BindingNavigator控件 210
10.11完善案例 211
10.11.1主窗体设计 211
10.11.2管理员登录 214
10.11.3应聘信息管理 216
10.11.4职位管理 219
10.11.5发布职位信息 221
10.11.6修改招聘简章 223
10.11.7应聘者查看职位信息 225
10.11.8输入个人简历 226
10.11.9查看/编辑个人简历 236
10.11.10测试运行并完善文档 238
本章小结 239
第5篇 高级应用程序开发 240
第11章 文件管理 241
11.1案例:简单资源管理器 241
11.2简单资源管理器设计思路 242
11.3目录管理相关类 244
11.3.1 Directory类 244
11.3.2 DirectoryInfo类 245
11.4显示目录树 246
11.5文件管理 248
11.5.1 File类 248
11.5.2 FileInfo类 249
11.6显示文件列表 250
11.7文件复制与粘贴 252
11.8文件拖放 255
11.9文件监视 257
11.10资源管理器其他功能 260
11.11文件属性 263
11.12文件读写 264
11.12.1 FileStream类 264
11.12.2 StreamReader和StreamWriter类 266
本章小结 268
第12章 图形与图像 269
12.1案例:课件伴侣 269
12.2 Graphics、Pen和Brush 270
12.2.1 Graphics 270
12.2.2 Pen 272
12.2.3画刷Brush 273
12.3屏幕图像的获取(截屏) 275
12.4图形的绘制 278
12.4.1随手画 278
12.4.2直线绘制与橡皮筋效果 279
12.5调整画笔 280
12.6屏幕放大和图像漫游 281
12.6.1屏幕放大 281
12.6.2图像漫游 281
12.7工具栏的制作 282
12.8路径GraphicsPath 283
12.9区域Region 285
12.10坐标变换 285
12.10.1坐标系类型 285
12.10.2平移变换和坐标系 286
12.10.3旋转与缩放变换 287
12.11色彩变换 288
本章小结 291
第13章 多线程 292
13.1进程、线程与多线程 292
13.2车站的售票员 292
13.3 Thread类 293
13.4创建、管理线程 294
13.4.1创建一个简单的线程 294
13.4.2管理线程 296
13.5跨线程访问控件 298
13.6线程同步 299
本章小结 302
第14章 网络编程 303
14.1案例:局域网聊天软件NetChart 303
14.2 Socket概念 304
14.3网络通信地址 305
14.4使用Socket通信 306
14.4.1 Socket类 306
14.4.2套接字通信流程 309
14.5 NetChart通信协议 310
14.5.1自定义通信协议 310
14.5.2通信数据辅助处理类 311
14.6 NetChart通信组件 313
14.6.1 Server组件 313
14.6.2 Client组件 317
14.7 NetChart软件界面 320
14.7.1在线用户列表窗口(主窗口) 320
14.7.2聊天对话窗口 324
14.8 UdpClient、TcpListener与TcpClient类 325
本章小结 327
附录A C#运算符 328
附录B C#主要术语 329
参考文献 331