C#基础知识篇 1
第1章 Visual Studio 2005概述 1
1.1 C#基础知识 2
1.1.1 C#简介 2
1.1.2 .NET Framework平台体系结构 2
1.1.3 面向对象的程序设计方法 2
1.2 Visual Studio 2005的新特性 3
1.3 安装Visual Studio 2005 4
1.4 IDE介绍 6
1.4.1 开始页面 7
1.4.2 解决方案资源管理器 7
1.4.3 菜单栏 11
1.4.4 工具栏 11
1.4.5 工具箱 12
1.4.6 代码编辑器 13
1.4.7 对象浏览器 15
1.4.8 “属性”面板 16
1.4.9 “命令”窗口 16
1.4.10 “即时”窗口 17
1.4.11 “任务列表”窗口 17
1.5 创建第1个控制台应用程序 17
1.6 使用命名空间 21
1.7 Main方法 22
1.8 使用帮助 23
1.8.1 MSDN帮助 23
1.8.2 智能感知 24
1.9 本章小结 25
第2章 变量、操作符和表达式 26
2.1 语句 27
2.2 程序代码的注释 27
2.3 使用标识符 27
2.3.1 使用标识符的规则 27
2.4 变量和常量 28
2.4.1 变量 28
2.4.2 常量 29
2.5 数据类型 30
2.5.1 值类型和引用类型的区别 30
2.5.2 装箱和拆箱转换 30
2.5.3 基本数据类型 31
2.5.4 引用类型 32
2.6 运算符与表达式类型 34
2.6.1 运算符分类 34
2.6.2 运算符的优先级与结合性 37
2.7 类型转换 38
2.7.1 隐式转换 38
2.7.2 显式转换 39
2.8 本章小结 41
第3章 方法 42
3.1 声明方法 43
3.1.1 声明方法的语法格式 43
3.1.2 return语句 43
3.2 调用方法 44
3.2.1 ref关键字 44
3.2.2 创建out参数 46
3.3 运用作用域 48
3.4 方法的重载 49
3.5 本章小结 51
第4章 结构化程序设计 52
4.1 顺序结构程序设计 53
4.1.1 单赋值语句 53
4.1.2 复合赋值语句 53
4.1.3 连续赋值语句 53
4.2 输出和输入 53
4.2.1 输入方法 54
4.2.2 输出方法 54
4.3 选择结构程序设计 54
4.3.1 if语句(单分支选择结构) 54
4.3.2 switch语句(多分支选择结构) 58
4.4 循环结构程序设计 60
4.4.1 for循环语句 60
4.4.2 while循环语句 61
4.4.3 do...while循环语句 62
4.5 循环中断 63
4.5.1 goto语句 63
4.5.2 break语句 65
4.5.3 continue语句 66
4.5.4 return语句 67
4.6 预处理指令 68
4.7 本章小结 70
第5章 枚举和结构 71
5.1 枚举 72
5.1.1 定义枚举 72
5.1.2 使用枚举 73
5.2 结构 74
5.2.1 定义结构 75
5.2.2 使用结构 75
5.3 本章小结 77
第6章 数组和集合 78
6.1 数组 79
6.1.1 声明数组 79
6.1.2 数组初始化 79
6.1.3 访问一个单独的数组元素 80
6.1.4 foreach循环 80
6.1.5 使用数组 81
6.1.6 多维数组 81
6.2 集合 82
6.2.1 什么是集合 82
6.2.2 ArrayList类 82
6.2.3 Queue类 85
6.2.4 Stack类 87
6.2.5 Hashtable类 88
6.2.6 SortedList类 90
6.2.7 数组和集合的区别 92
6.3 本章小结 92
第7章 面向对象编程 93
7.1 类和对象 94
7.1.1 类的定义 94
7.1.2 声明和使用对象 94
7.2 访问控制 96
7.2.1 public 96
7.2.2 private 97
7.2.3 protected 97
7.2.4 internal 97
7.3 属性 97
7.3.1 定义属性 98
7.3.2 使用属性 99
7.4 方法 99
7.5 构造函数 99
7.5.1 声明构造函数 99
7.5.2 重载构造函数 101
7.6 析构函数 102
7.7 静态成员 102
7.8 Visual Studio.NET中的OOP工具 104
7.8.1 在Visual Studio 2005中创建类 104
7.8.2 添加类成员 105
7.8.3 “类视图”窗口 106
7.9 常用类操作和数据处理 106
7.9.1 Convert类 106
7.9.2 String类 108
7.9.3 Math类 114
7.9.4 DataTime类和TimeSpan类 115
7.10 本章小结 117
第8章 面向对象编程进阶 118
8.1 封装、继承和多态 119
8.1.1 封装 119
8.1.2 继承 119
8.1.3 多态性 122
8.2 接口 127
8.2.1 声明接口 127
8.2.2 接口限制 128
8.2.3 实现接口 128
8.2.4 使用多个接口 131
8.3 本章小结 131
Windows窗体设计篇 132
第9章 窗体 132
9.1 创建窗体 133
9.1.1 使用新建项目模板创建窗体 133
9.1.2 使用添加项目模板创建窗体 136
9.2 设置窗体属性 137
9.3 窗体的常用事件 141
9.4 窗体的常用方法 144
9.5 本章小结 146
第10章 控件 147
10.1 Windows窗体界面设计 148
10.1.1 在窗体中添加控件 148
10.1.2 修改控件属性 148
10.1.3 鼠标事件与键盘事件 149
10.2 常用文本编辑控件 150
10.2.1 标签控件(Label) 150
10.2.2 文本框控件(TextBox) 152
10.3 按钮类控件 154
10.3.1 按钮控件(Button) 154
10.3.2 单选按钮控件(RadioButton) 155
10.3.3 复选框控件(CheckBox) 156
10.4 列表框、带复选框的列表框和组合框控件 157
10.4.1 列表框控件(ListBox) 157
10.4.2 带复选框的列表框控件(CheckedListBox) 159
10.4.3 组合框控件(ComboBox) 160
10.5 分割线、分组框、面板和选项卡控件 161
10.5.1 分割线控件(Splitter) 161
10.5.2 分组框控件(GroupBox) 161
10.5.3 面板控件(Panel) 162
10.5.4 选项卡控件(TabControl) 162
10.6 滚动类控件 164
10.6.1 水平滚动条(HscrollBar)和垂直滚动条(VscrollBar)控件 164
10.6.2 进度条控件(ProgressBar) 165
10.6.3 跟踪条控件(Trackbar) 167
10.7 列表视图控件和树视图控件 167
10.7.1 列表视图控件(ListView) 167
10.7.2 树视图控件(TreeView) 168
10.8 图片框控件和图像列表控件 170
10.8.1 图片框控件(PictureBox) 170
10.8.2 图像列表控件(ImageList) 171
10.9 定时器控件(Timer) 171
10.10 使用多个控件 173
10.10.1 选定多个控件 173
10.10.2 取消一组控件的选定 173
10.10.3 移动一组控件 174
10.10.4 分层控件 174
10.10.5 设置多个控件的属性 174
10.10.6 对齐控件 174
10.10.7 设置控件的Tab键顺序 175
10.10.8 锁定控件 175
10.11 开发Windows窗体控件 175
10.11.1 创建用户控件 176
10.11.2 创建自定义控件 182
10.12 本章小结 183
第11章 使用菜单和对话框 184
11.1 菜单 185
11.1.1 菜单控件(MenuStrip) 185
11.1.2 快捷菜单控件(ContextMenuStrip) 189
11.2 通用对话框控件 190
11.2.1 消息框控件(MessageBox) 191
11.2.2 打开文件对话框控件(OpenFileDialog) 192
11.2.3 “字体”对话框控件(FontDialog) 193
11.2.4 “颜色”对话框控件(ColorDialog) 195
11.2.5 “浏览文件夹”对话框控件(folderBrowserDialog) 196
11.3 使用打印机 197
11.3.1 “打印”对话框控件(PrintDialog) 197
11.3.2 PrintDocumnet控件 199
11.3.3 打印预览 199
11.4 工具栏和状态栏控件 202
11.4.1 工具栏控件(ToolStrip) 202
11.4.2 状态栏控件(StatusStrip) 204
11.5 设计MDI窗体 206
11.5.1 MDI主窗体和子窗体 206
11.5.2 MDI窗体的基本特征 207
11.5.3 操作子窗体 207
11.6 本章小结 210
第12章 调试与异常处理 211
12.1 程序错误 212
12.1.1 编译错误 212
12.1.2 运行时错误 212
12.1.3 逻辑错误 212
12.2 程序调试 212
12.2.1 执行控制 212
12.2.2 附加到正在运行的程序或多个程序 213
12.2.3 断点 214
12.2.4 查看程序的状态 217
12.3 异常处理 218
12.3.1 throw语句 218
12.3.2 try-catch语句 219
12.3.3 finally语句 221
12.4 本章小结 222
文件技术篇 223
第13章 流和文件输入/输出操作 223
13.1 Stream类 224
13.2 FileStream类 224
13.2.1 文件位置 226
13.2.2 读取数据 226
13.2.3 写入数据 227
13.3 用于读写数据的类 229
13.3.1 读写二进制文件的操作 229
13.3.2 读写文本文件处理 232
13.4 文本与剪贴板之间的交互 237
13.5 文件和目录类 239
13.5.1 文件类 239
13.5.2 目录类 242
13.6 本章小结 245
图形图像与多媒体篇 246
第14章 图形图像与多媒体处理 246
14.1 GDI+概述 247
14.2 GDI+使用的坐标系 247
14.2.1 Point 247
14.2.2 Size 248
14.2.3 Rectangle 248
14.3 Graphics对象 248
14.4 Paint事件 250
14.5 颜色 251
14.6 字体 252
14.7 画笔 255
14.8 画刷 255
14.9 显示图像 257
14.10 图形图像与剪贴板的交互作用 258
14.11 使用媒体播放控件 261
14.12 本章小结 262
数据库操作篇 263
第15章 数据库技术 263
15.1 常用数据库 264
15.1.1 Access数据库 264
15.1.2 SQL Server数据库 264
15.2 数据库基础知识 270
15.2.1 表 270
15.2.2 视图 271
15.2.3 存储过程 271
15.2.4 索引 271
15.3 ADO.NET概述 271
15.3.1 ADO与ADO.NET的关系 272
15.3.2 .NET Framework数据提供程序 272
15.3.3 .NET Framework数据提供程序的核心对象 273
15.3.4 System.Data命名空间 273
15.4 连接数据库 274
15.4.1 SqlConnection类 274
15.4.2 连接字符串 274
15.4.3 创建SQL Server连接 275
15.4.4 断开SQL Server连接 276
15.4.5 OleDbConnection类 277
15.5 数据命令 279
15.5.1 查询记录 280
15.5.2 插入记录 281
15.5.3 修改记录 283
15.5.4 删除记录 286
15.6 SqlDataReader对象 288
15.7 使用可视控件访问ADO.NET数据库 290
15.8 定义DataSet类 294
15.9 DataSet、DataTable和TableAdapter对象 297
15.9.1 浏览数据 297
15.10 数据绑定 300
15.10.1 简单的数据绑定 301
15.10.2 复杂的数据绑定 302
15.11 本章小结 304
第16章 使用ADO.NET访问数据库 305
16.1 ADO.NET体系结构 306
16.2 数据适配器 306
16.3 数据集 308
16.4 DataTable类 309
16.4.1 DataTable类的常用属性和方法 309
16.4.2 创建数据表 310
16.4.3 定义数据表结构 312
16.4.4 操作数据表中的数据 314
16.5 DataRelation类 319
16.6 CurrencyManager和BindingContext类 321
16.7 本章小结 325
网站开发篇 326
第17章 开发Web网站 326
17.1 ASP.NET概述 327
17.2 安装与配置IIS服务器 327
17.3 创建一个基本的Web网站 333
17.4 ASP.NET的常用对象 336
17.4.1 Page对象 337
17.4.2 Response对象 337
17.4.3 Request对象 338
17.4.4 Server对象 342
17.4.5 Cookie对象 343
17.4.6 Session对象 344
17.4.7 Application对象 345
17.5 本章小结 347
第18章 使用ASP.NET服务器控件 348
18.1 HTML服务器控件 349
18.1.1 按钮控件(HtmlInputButton) 349
18.1.2 单行文本框控件(HtmlInputText) 350
18.1.3 多行文本框控件(HtmlTextArea) 351
18.1.4 复选框控件(HtmlInputCheckBox) 351
18.1.5 单选框控件(HtmlInputRadioButton) 352
18.1.6 隐藏文本框控件(HtmlInputHidden) 353
18.1.7 表格控件(HtmlTable) 353
18.1.8 列表框/下拉框控件(HtmlSelect) 355
18.1.9 图像控件(HtmlImage) 356
18.2 Web服务器控件 357
18.2.1 广告条控件(AdRotator) 357
18.2.2 按钮控件(Button) 357
18.2.3 复选框控件(Checkbox) 358
18.2.4 单选框控件(RadioButton) 358
18.2.5 超级链接控件(HyperLink) 359
18.2.6 链接按钮控件(LinkButton) 360
18.2.7 图像控件(Image) 361
18.2.8 文本框控件(TextBox) 361
18.2.9 图像地图控件(ImageMap) 362
18.3 验证控件 365
18.3.1 必须字段验证控件(RequiredFieldValidator) 366
18.3.2 比较验证控件(CompareValidator) 368
18.3.3 范围验证控件(RangeValidator) 370
18.3.4 正则表达式控件(RegularExpressionValidator) 373
18.3.5 自定义验证控件(CustomValidator) 375
18.3.6 验证总结控件(ValidationSummary) 378
18.4 本章小结 380
第19章 保护网站并使用Web窗体访问数据 381
19.1 身份验证和授权 382
19.1.1 身份验证的配置 382
19.1.2 使用安全控件 383
19.2 Gridview控件 385
19.3 查询数据库 386
19.3.1 连接数据库 386
19.3.2 使用Gridview控件自动显示数据 389
19.4 分页显示数据 390
19.5 在Gridview控件中实现数据操作 391
19.6 本章小结 393
高级开发篇 394
第20章 网络编程 394
20.1 Socket的基本概念 395
20.1.1 Socket简介 395
20.1.2 Socket编程原理 395
20.2 TCP/IP网络模型 395
20.3 获得网络端点 396
20.3.1 IPEndPoint类 396
20.3.2 IPHostEntry类 397
20.4 网络流 399
20.5 Socket通信 401
20.6 用户数据报协议 403
20.7 传输控制协议 406
20.7.1 TcpListener类 406
20.7.2 TcpClient类 409
20.8 网络聊天程序 411
20.9 电子邮件收发程序 417
20.9.1 与电子邮件系统相关的协议 417
20.9.2 Microsoft MAPI Control控件简介 418
20.9.3 使用POP3协议接收邮件 421
20.10 本章小结 426
第21章 多线程技术 427
21.1 概述 428
21.1.1 什么是线程 428
21.1.2 单线程和多线程 428
21.1.3 多线程在.NET中如何工作 428
21.2 System.Threading命名空间 429
21.3 Thread类 430
21.4 Monitor类 434
21.5 Mutex类 436
21.6 ReaderWriterLock类 439
21.7 ThreadPool类 445
21.8 WaitHandle类 447
21.9 AutoResetEvent类 450
21.10 Timer类 452
21.11 本章小结 454
安装与部署篇 455
第22章 部署应用程序 455
22.1 使用安装项目部署Windows应用程序 456
22.2 创建与生成安装程序 457
22.3 本章小结 468
C#基础知识篇 1
第1章 Visual Studio 2005概述 1
实例1-1 经典的Hello World程序 18
第2章 变量、操作符和表达式 26
实例2-1 隐式转换 38
实例2-2 显示转换 40
第3章 方法 42
实例3-1 使用ref关键字 45
实例3-2 使用out关键字 47
实例3-3 设定方法中变量的作用域 49
实例3-4 方法重载 50
第4章 结构化程序设计 52
实例4-1 判断成绩是否合格 55
实例4-2 判断大小写 56
实例4-3 判断输入数字对应的是星期几 58
实例4-4 显示1~10的整数 60
实例4-5 显示1~5的整数 61
实例4-6 显示1~5的整数 62
实例4-7 求输入数字除以4的结果 64
实例4-8 使用break语句 65
实例4-9 使用continue语句 66
实例4-10 使用return语句 67
实例4-11 使用define语句 69
第5章 枚举和结构 71
实例5-1 使用枚举 73
实例5-2 使用结构 76
第6章 数组和集合 78
实例6-1 创建并访问数组 81
实例6-2 使用ArrayList 83
实例6-3 使用Queue 85
实例6-4 使用Stack 87
实例6-5 使用Hashtable 89
实例6-6 使用SortedList 90
第7章 面向对象编程 93
实例7-1 定义类并声明对象 95
实例7-2 声明构造函数 100
实例7-3 使用static修饰符 103
实例7-4 转换值类型 107
实例7-5 定义字符串的表示格式 109
实例7-6 比较两个字符串 111
实例7-7 常用字符串的操作方法 112
实例7-8 使用Math类 114
实例7-9 使用DataTime类和TimeSpan类 116
第8章 面向对象编程进阶 118
实例8-1 类和继承 120
实例8-2 使用new关键字 123
实例8-3 使用virtual和override关键字 125
实例8-4 声明及使用接口 129
Windows窗体设计篇 132
第9章 窗体 132
实例9-1 设置窗体属性 138
实例9-2 使用窗体的Load事件改变窗体的属性 143
实例9-3 在一个窗体中显示另一个窗体 145
第10章 控件 147
实例10-1 在Label控件中显示当前的时间 151
实例10-2 制作一个简单的加法器 153
实例10-3 创建“关闭”按钮 154
实例10-4 使用单选按钮控件(RodioButtom) 156
实例10-5 使用列表框控件(ListBox) 158
实例10-6 使用组合框控件(ComboBox) 160
实例10-7 使用水平滚动条控件(HscrollBar) 164
实例10-8 使用进度条控件(ProgressBar) 166
实例10-9 使用定时器控件(Timer) 172
实例10-10 设计一个Windows用户控件 178
第11章 使用菜单和对话框 184
实例11-1 创建下拉式菜单 186
实例11-2 创建一个“另存为”对话框 192
实例11-3 创建一个“字体”对话框 194
实例11-4 创建一个“颜色”对话框 195
实例11-5 创建一个“浏览文件夹”对话框 196
实例11-6 创建一个“打印”对话框 198
实例11-7 打印实例 200
实例11-8 创建工具栏 203
实例11-9 状态栏 205
实例11-10 创建多文档界面程序 208
第12章 调试与异常处理 211
实例12-1 使用try-catch语句 219
实例12-2 使用try-catch-finally语句 221
文件技术篇 223
第13章 流和文件输入/输出操作 223
实例13-1 使用FileStream类读取数据 226
实例13-2 使用FileStream类写入数据 228
实例13-3 通信录 230
实例13-4 使用StreamReader类读取文件信息 233
实例13-5 使用StreamWriter类向文本文件中写入文件信息 235
实例13-6 使用剪贴板 237
实例13-7 文件的复制、删除和移动 240
实例13-8 创建、删除和移动目录 243
图形图像与多媒体篇 246
第14章 图形图像与多媒体处理 246
实例14-1 在Windows应用程序的窗体中绘制文本 253
实例14-2 使用Pen类在窗体中绘制线条 255
实例14-3 使用SolidBrush类在窗口中绘制图形 256
实例14-4 在Windows应用程序中显示BMP图片 257
实例14-5 图形图像与剪贴板的交互作用 258
实例14-6 媒体播放器 262
数据库操作篇 263
第15章 数据库技术 263
实例15-1 使用SqlConnection类连接SQL数据库 276
实例15-2 使用OleDbConnection类连接Access数据库 278
实例15-3 使用SqlCommand类插入数据 282
实例15-4 使用SqlCommand类修改数据 284
实例15-5 使用SqlCommand类删除数据 286
实例15-6 使用SqlDataReader对象检索数据 289
实例15-7 在一个Windows应用程序中显示数据库数据 298
实例15-8 使用文本框绑定数据 301
实例15-9 使用下拉列表框绑定数据 303
第16章 使用ADO.NET访问数据库 305
实例16-1 将SQL Server数据库中的表填充到DataTable中 311
实例16-2 创建DataTable对象并显示 317
实例16-3 浏览记录 322
网站开发篇 326
第17章 开发Web网站 326
实例17-1 创建一个基本的Web网站 333
实例17-2 使用QueryString属性 338
实例17-3 使用Request对象的Browser属性 340
实例17-4 Request对象的ServerVariables属性的使用 341
实例17-5 使用Server对象的HtmlEncode方法 342
实例17-6 使用Session对象创建一个登录计数器 345
实例17-7 Application对象 346
第18章 使用ASP.NET服务器控件 348
实例18-1 创建一个下拉框 355
实例18-2 使用HyperLink控件 359
实例18-3 Web服务器控件综合应用实例 364
实例18-4 使用RequiredFieldValidator控件 367
实例18-5 使用CompareValidator控件 369
实例18-6 使用RangeValidator控件 371
实例18-7 使用RegularExpressionValidator控件 374
实例18-8 使用CustomValidator控件 376
实例18-9 使用ValidationSummary控件 378
第19章 保护网站并使用Web窗体访问数据 381
实例19-1 创建数据库连接 387
实例19-2 创建数据库连接 389
实例19-3 分页显示数据 390
实例19-4 在Gridview控件中实现数据操作 391
高级开发篇 394
第20章 网络编程 394
实例20-1 获取服务器的IP地址 398
实例20-2 使用Socket类连接到远程终端节点 402
实例20-3 监听端口 408
实例20-4 创建TCP客户端连接 410
实例20-5 简单的网络聊天程序 412
实例20-6 邮件发送系统 419
实例20-7 邮件接收程序 421
第21章 多线程技术 427
实例21-1 使用Thread类 433
实例21-2 实现同步 437
实例21-3 统计读写数据的流量 440
实例21-4 使用ThreadPool类 446
实例21-5 使用WaitHandle类 448
实例21-6 使用AutoResetEvent类 451
实例21-7 使用Timer类 453
安装与部署篇 455
第22章 部署应用程序 455
实例22-1 创建与生成安装程序 458