第一部 分基本概念 2
第1章 NE下概念及开发环境 2
1.1 NET的概念 2
1.1.1 什么是NET 2
1.1.2 NETF ramework 3
1.1.3 Cornmon Language Runtime 4
1.1.4 NET Framework类库 5
1.1.5 编写第一个NET程序 6
1.1.6 NET FrameworkSDK 9
1.1.7 程序的编译及执行 10
1.1.8 元数据 11
1.1.9 程序集 12
1.2 Visual Studio开发环境介绍 13
1.2.1 开发环境窗口要素介绍 13
1.2.2 解决方案及项目 15
1.2.3 常见项目类型 16
1.2.4 项目属性对话框简介 18
1.2.5 设计器及编辑器 19
1.2.6 解决方案资源管理器及属性窗体 23
1.2.7 代码的生成及调试 27
1.2.8 其他常用功能介绍 29
1.3 本章小结 32
第2章 C#语言简介 33
2.1 C#简介 33
2.2 类型 34
2.3 C#基本数据类型 34
2.3.1 值类型 34
2.3.2 内置引用类型 35
2.4 使用变量 36
2.4.1 变量声明与指定 36
2.4.2 变量生命期 36
2.5 常数 37
2.6 枚举 37
2.7 结构 38
2.7.1 声明结构类型 38
2.7.2 结构的初始化 39
2.7.3 声明结构变量 40
2.8 语句 40
2.8.1 选择语句 40
2.8.2 switch语句 41
2.8.3 循环语句 42
2.8.4 跳转语句 43
2.9 运算符 44
2.9.1 赋值运算符 44
2.9.2 算术运算符 45
2.9.3 递增递减运算符 45
2.9.4 关系运算符 46
2.9.5 逻辑运算符 46
2.9.6 条件式逻辑运算符 46
2.9.7 一元以及多元运算符 47
2.9.8 运算符优先顺序 47
2.10 数组 48
2.10.1 声明数组变量 48
2.10.2 创建数组实例 48
2.10.3 初始化数组变量 49
2.10.4 访问单独的数组元素 49
2.10.5 遍历一个数组 49
2.11 面向对象程序设计 50
2.11.1 理解分类 50
2.11.2 封装的目的 51
2.11.3 定义并使用类 51
2.11.4 方法 52
2.11.5 控制可访问性 57
2.11.6 属性 58
2.11.7 使用构造函数 60
2.11.8 继承 62
2.11.9 接口 64
2.12 异常处理 65
2.12.1 尝试代码和捕捉异常 65
2.12.2 处理异常 66
2.12.3 使用多个catch处理程序 66
2.12.4 捕捉多个异常 67
2.12.5 使用finally块 67
2.13 本章小结 68
第3章 Windows Forms 70
3.1 Windows Forms编程基本概念 70
3.2 理解Windows窗体 73
3.3 Windows运行机制 73
3.3.1 Windows的事件驱动机制 73
3.3.2 Windows的消息循环机制 74
3.4 基于控件的编程 75
3.4.1 组件 75
3.4.2 控件 75
3.5 基于事件的编程 76
3.5.1 委托 77
3.5.2 事件 79
3.6 本章小结 84
第二部分 Windows Forms基础 86
第4章 Windows窗体简介 86
4.1 理解Windows窗体 86
4.2 开发简单的Windows窗体项目 87
4.2.1 检查VisualC#.NET创建的文件 87
4.2.2 执行Windows窗体项目 91
4.2.3 为项目添加窗体 91
4.2.4 模式窗体与无模式窗体 92
4.2.5 确定DialogResult值 93
4.3 控制Windows窗体应用程序 93
4.3.1 启动应用程序 94
4.3.2 确定应用程序路径信息 94
4.3.3 关闭应用程序 95
4.4 使用窗体属性影响窗体形态 96
4.4.1 设置边框风格 96
4.4.2 定义其他窗体属性 97
4.5 本章小结 98
第5章 为窗体添加控件 99
5.1 控件简介 99
5.2 使用Button类 100
5.2.1 ButtonBase类 100
5.2.2 Button类 100
5.2.3 RadioButton类 105
5.2.4 CheckBox类 105
5.3 基本事件处理 106
5.3.1 事件处理结构 107
5.3.2 添加新的事件处理器 107
5.3.3 删除事件处理器 110
5.3.4 把按键转换为单击按钮 110
5.3.5 验证控件的内容 111
5.4 使用TextBox类 112
5.4.1 隐藏文本框控件中的密码 113
5.4.2 使用多行文本框控件 113
5.4.3 使用其他的文本框属性 114
5.5 使用Label类 115
5.6 使用LinkLabel类 116
5.6.1 处理Click事件 116
5.6.2 LinkLabel的独有属性 116
5.7 使用ListBox类 118
5.7.1 向列表框中添加项目 120
5.7.2 从列表框中删除项目 120
5.7.3 选择列表框项目 121
5.7.4使用其他列表框属性 123
5.8 使用CheckListBox类 124
5.8.1 选中复选列表框中的项目 125
5.8.2 处理复选列表框事件 125
5.9 使用ComboBox类 126
5.9.1 使用组合框的属性 126
5.9.2 处理组合框事件 127
5.10 作为容器的控件 128
5.10.1 内嵌控件 128
5.10.2 GroupBox类 128
5.10.3 Panel类 129
5.11 本章小结 129
第6章 项目简介 130
6.1 XML简介 130
6.1.1 XML快速入门 130
6.1.2 XML语法 133
6.2 RSS简介 137
6.2.1 什么是RSS 137
6.2.2 为什么使用RSS 138
6.2.3 谁应当使用RSS 138
6.2.4 RSS的未来 139
6.2.5 RSS的历史 139
6.2.6 RSS语法 140
6.3 RSS阅读器 144
6.3.1 什么是RSS阅读器 144
6.3.2 常用RSS阅读器 145
6.4 我们的RSS阅读器 147
6.4.1 实现分析 147
6.4.2 效果预览 148
6.5 本章小结 149
第7章 读写XML文档 150
7.1 集合类 150
7.1.1 ArrayList类 150
7.1.2 比较数组和集合 152
7.2 泛型概述 153
7.2.1 传统集合类存在的问题 153
7.2.2 泛型解决方案 154
7.2.3 对比泛型类与泛化类 155
7.3 文档对象模型(DOM) 156
7.3.1 什么是文档对象模型 156
7.3.2 XML文档结构 156
7.3.3 使用XML文档 158
7.4 读取RSS文档 159
7.4.1 构建RssFeed类 159
7.4.2 构建RssChannel类 164
7.4.3 构建Rssltem类 167
7.5 保存RSS文档信息 169
7.5.1 构建RssLinks.xml文件 169
7.5.2 构建RssLink类 170
7.5.3 构建RssLinkXML类 171
7.6 本章小结 175
第8章 构建主窗体 177
8.1 主窗体功能要求 177
8.2 主窗体界面设计 177
8.3 创建主窗体 178
8.3.1 窗体属性简介 178
8.3.2 设置窗体属性 180
8.4 构建RSS文档列表 181
8.4.1 设计TreeView控件 181
8.4.2 生成动态的TreeView控件 183
8.4.3 处理TreeView事件 186
8.5 构建RSS文档摘要信息 187
8.6 使用SplitContainer控件 191
8.7 本章小结 193
第9章 增强Windows窗体 194
9.1 添加浏览网页窗口 194
9.2 链接管理 197
9.2.1 添加LinksManager窗体 197
9.2.2 添加DataGridView控件 198
9.3 添加工具栏 203
9.3.1 创建工具栏 204
9.3.2 添加事件 207
9.4 使用选项卡控件 211
9.4.1 添加选项卡控件 211
9.4.2 编程管理TabPage对象 213
9.5 使用主菜单 216
9.5.1 创建主菜单 217
9.5.2 处理菜单事件 219
9.6 实现快捷菜单 221
9.7 用状态栏提供反馈 224
9.7.1 创建状态栏 224
9.7.2 使用状态栏面板 225
9.8 本章小结 227
第10章 用户输入 229
10.1 使用鼠标 229
10.1.1 处理鼠标移动事件 229
10.1.2 处理鼠标选择事件 232
10.1.3 用鼠标指针提供反馈 232
10.2 接受键盘输入 235
10.2.1 获取输入焦点 235
10.2.2 使用Keys枚举 237
10.2.3 处理键盘事件 237
10.2.4 实现快捷键 239
10.3 本章小结 240
第11章 输入/输出 241
11.1 输入/输出类概述 241
11.2 文件目录操作 242
11.2.1 操作目录 242
11.2.2 操作文件 244
11.3 字符数据读写 245
11.4 使用公共对话框控件 250
11.4.1 使用FolderBrowserDialog控件 250
11.4.2 使用OpenFileDialog控件 255
11.4.3 使用SaveFileDialog控件 257
11.5 本章小结 259
第三部分 Windows Forms高级编程 262
第12章 多线程设计 262
12.1线程与进程 262
12.2应用线程 263
12.2.1创建线程 263
12.2.2 线程的暂停与恢复 265
12.2.3 暂停线程―使用Sleep与Join方法 266
12.3 线程状态 269
12.3.1 判断线程的结束 269
12.3.2 取得线程状态 270
12.4 同步线程 271
12.5 线程的优先级 273
12.6 终止线程 274
12.7 使用ThreadPool类创建线程 276
12.8 实现自动刷新功能 277
12.9 本章小结 280
第13章 使用数据库 281
13.1 ADO.NET简介 281
13.2 连接到数据源 282
13.2.1 SqlConnection类 282
13.2.2 连接字符串 284
13.3 执行命令 285
13.3.1 SqlCommand类 286
13.3.2 ADO.NET数据阅读器 288
13.3.3 使用事务 292
13.4 创建RssLinkDB类 296
13.4.1 创建数据库 296
13.4.2 添加GetLinkList方法 298
13.4.3 添加IsLinkExist方法 299
13.4.4 添加AddLink方法 300
13.5 本章小结 301
第14章 使用数据容器与数据绑定 302
14.1 数据适配器 302
14.2 内存中的数据容器对象 305
14.2.1 DataSet对象 305
14.2.2 DataTable对象 310
14.2.3 DataView对象 314
14.3 完善RssLinkDB类 316
14.3.1 添加GetLinkSet方法 316
14.3.2 添加SaveLinkSet方法 317
14.4 选择保存方式 318
14.4.1 构建接口 318
14.4.2 修改RssLinkXML类和RssLinkDB类 319
14.4.3 记录保存方式 319
14.4.4 构建RssLinkFactory类 321
14.4.5 修改链接管理窗口 322
14.4.6 修改RssReader阅读器 324
14.5 使用DataGridView控件 324
14.6 LINQ简介 327
14.6.1 什么是LINQ 328
14.6.2 LINQ查询概述 329
14.7 使用LINQ改进RssReader阅读器 331
14.8 本章小结 333
第15章 用户控件 334
15.1 可视化组件 334
15.1.1 Control类以及UserControl类 334
15.1.2 复合式控件 335
15.2 构建RSS摘要信息窗体 344
15.2.1 RSS摘要信息窗体要求 344
15.2.2 用户界面示意 344
15.2.3 用户控件实现 345
15.3 本章小结 351
第16章 完善RSS摘要信息窗体 352
16.1 显示RSS摘要信息 352
16.1.1 功能分析 352
16.1.2 添加IURL属性 352
16.1.3 异步加载RSS文档 357
16.2 为控件添加事件 359
16.2.1 翻页按钮 359
16.2.2 折叠按钮 360
16.2.3 关闭按钮 365
16.2.4 刷新按钮 366
16.2.5 保存按钮 366
16.2.6 DataGridView链接 368
16.3 在主窗体中加载用户控件 370
16.3.1 FowLayoutPanel控件 371
16.3.2 TableLayoutPanel控件 371
16.3.3 添加用户控件 372
16.4 本章小结 375
第17章 部署 376
17.1 部署的设计与选项 376
17.2 部署的要求 377
17.3 简单的部署 377
17.4 Installer项目 378
17.4.1 Windows Installer 378
17.4.2 创建安装程序 378
17.5 ClickOnce 384
17.5.1 ClickOnce操作 385
17.5.2 发布应用程序 385
17.5.3 ClickOnce设置 386
17.5.4 应用程序缓存 387
17.6 高级选项 388
17.7 本章小结 393