1.1 初识开发环境 1
第1章 一个Windows程序 1
1.2 “Start”页面 2
1.2.1 “Get Started”页面 2
1.2.2 “What s New” 页面 3
1.2.3 “Online Community” 页面 4
1.2.4 “Headlines” 页面 4
1.2.5 “Search Online” 页面 5
1.2.6 “My Profile” 页面 5
1.3.1 创建工程框架 6
1.3 建立一个工程项目 6
1.3.2 编译执行程序 8
1.4 Solution Explorer窗口 9
1.4.1 Solution概念 9
1.4.2 Project概念 9
1.4.3 Solution Explorer窗口 10
1.5 Code Editor窗口 11
1.5.1 打开Code Editor窗口 11
1.5.2 Code Editor新特性 12
1.6.1 AssemblyInfo.cs文件 13
1.6 分析代码 13
1.6.2 Forml.cs文件 15
1.7 编辑窗体 17
1.7.1 修改窗体属性 17
1.7.2 添加控件 19
1.7.3 新添加的代码 20
1.8 本章总结 21
第2章 基础Win Forms控件 23
2.1 Button(按钮)控件 23
2.1.1 建立新工程 24
2.1.3 实现按钮事件方法 25
2.1.2 创建按钮并设置属性 25
2.1.4 演示按钮 28
2.2 TextBox(文本框)控件 29
2.2.1 创建文本框并设置属性 29
2.2.2 访问Text属性 30
2.2.3 演示文本框 30
2.3 CheckBox(复选框)控件 30
2.3.1 创建复选框并设置属性 31
2.3.2 实现复选框事件方法 31
2.4 RadioButton(单选按钮)控件 32
2.3.3 演示复选框 32
2.4.1 创建单选按钮并设置属性 33
2.4.2 实现单选按钮事件 33
2.4.3 演示单选按钮 34
2.5 ListBox(列表框)控件 35
2.5.1 创建列表框并设置属性 35
2.5.2 实现添加删除操作 36
2.5.3 演示列表框 38
2.6 ComboBox(组合框)控件 38
2.6.1 创建组合框并设置属性 38
2.6.3 演示组合框 40
2.6.2 实现选择条目消息 40
2.7 ToolTip(工具提示)控件 41
2.7.1 创建工具提示并设置属性 41
2.7.2 关联工具提示的控件 42
2.7.3 演示工具提示 42
2.8 本章总结 43
第3章 高级Win Forms控件 45
3.1 NumericUpDown控件 45
3.1.1 创建包含NumericUpDown的窗体 45
3.1.2 控制NumericUpDown控件 46
3.1.3 实现NumericUpDown控件的事件方法 47
3.2 ProgressBar(进度条)控件 48
3.2.1 创建包含ProgressBar的窗体 48
3.1.4 演示NumericUpDown控件 48
3.2.2 显示计算过程 49
3.2.3 演示ProgressBar控件 50
3.3 ListView(列表视图)控件 51
3.3.1 创建包含ListView的窗体 52
3.3.2 实现地址簿功能 54
3.3.3 演示ListView控件 57
3.3.4 查看ListView的创建代码 58
3.4.1 创建包含TreeView的窗体 59
3.4 TreeView(树形视图)控件 59
3.4.2 实现TreeView的事件方法 61
3.4.3 实现按钮的点击事件方法 62
3.4.4 演示TreeView控件 64
3.5 Splitter控件 65
3.5.1 创建分隔窗体 66
3.5.2 演示Splitter控件 69
3.6 TabControl控件 70
3.6.1 创建TabControl控件 70
3.6.2 创建标签页 71
3.6.3 分析代码 73
3.6.4 演示TabControl控件 74
3.7 本章总结 74
第4章 菜单设计 75
1.1 创建主菜单 75
4.1.1 添加主菜单条 75
4.1.2 添加“文件”菜单组 76
4.1.3 添加“新建”菜单项 76
4.1.4 添加“打开”和“保存”菜单项 77
4.1.6 添加“退出”菜单项 78
4.1.5 添加菜单分隔条 78
4.1.7 测试菜单功能 79
4.2 Check和RadioCheck菜单 79
4.2.1 添加“查看”菜单组 80
4.2.2 添加Check类型的菜单项 80
4.2.3 添加RadioCheck类型的菜单项 81
4.2.4 测试Check和RadioCheck菜单功能 83
4.3 自画菜单 84
4.3.1 添加“图形”菜单组 84
4.3.2 添加自画菜单项 84
4.3.3 实现自画菜单事件方法 84
4.3.4 添加“圆形”和“直线”自画菜单项 86
4.3.5 测试自画菜单 89
4.4 创建上下文菜单 89
4.4.1 创建窗体的上下文菜单 90
4.4.2 创建控件上的上下文菜单 92
4.5 本章总结 94
第5章 工具栏和状态栏 95
5.1 创建工具栏 95
5.1.1 创建ImageList控件 95
5.1.2 创建ToolBar控件 96
5.1.3 添加工具栏按钮 96
5.1.4 实现工具样按钮事件方法 97
5.1.5 测试工具栏 99
5.2 带有下拉菜单的工具栏按钮 99
5.2.1 创建ContextMenu控件 99
5.2.2 实现菜单项点击事件方法 100
5.2.3 把ContextMenu加入到【新建】工具栏按钮上 100
5.2.4 测试工具栏按钮下拉菜单 101
5.3 创建开关工具栏按钮 101
5.3.1 在ImageList控件中添加图像 101
5.3.2 创建ToolBar控件 101
5.3.3 实现按钮点击事件方法 102
5.3.4 测试开关工具栏按钮 103
5.4.1 添加StatusBar控件 104
5.4.2 设置StatusBar属性 104
5.4 创建状态栏 104
5.4.3 实现PanelClick事件 106
5.4.4 动态设置状态栏信息 106
5.4.5 演示状态栏 107
5.5 自画状态栏面板 107
5.6 本章总结 109
6.1.1 添加窗体类 111
11.1.4 “源”中的拖放事件 111
6.1 模式对话框 111
第6章 对话框 111
6.1.2 编辑窗体 113
6.1.3 实现对话框功能 114
6.1.4 返回对话框关闭方式 116
6.1.5 定义访问对话框数据的属性 117
6.1.6 使用模式对话框 120
6.1.7 演示对话框 122
6.2.2 添加窗体类 123
6.2.3 编辑窗体 123
6.2 非模式对话框 123
6.2.1 创建应用程序 123
6.2.4 定义访问对话框数据的属性 124
6.2.5 实现控件事件 125
6.2.6 使用模式对话框 127
6.3 通用对话框 129
6.2.7 演示非模式对话框 129
6.3.1 OpenFileDialog 130
6.3.2 SaveFileDialog 132
6.3.3 ColorDialog 134
6.3.4 FontDialog 135
6.4 本章总结 137
第7章 多文档界面应用程序 139
7.1 创建主窗体及其控件 139
7.1.1 创建主窗体 139
7.1.2 添加控件 140
7.2 创建子窗体及其控件 142
7.2.1 创建子窗体 142
7.2.2 添加控件 142
7.3 实现子窗体功能 143
7.3.1 编辑功能 144
7.3.2 保存功能 144
7.4 实现主窗体功能 145
7.4.1 实现菜单栏功能 145
7.4.2 实现工具栏功能 149
7.5 演示多文档界面程序 151
7.6 本章总结 152
8.1.1 GDI+编程模式 153
第8章 GDI+编程基础 153
8.1 GDI+简介 153
8.1.2 GDI+的新特性 154
8.1.3 GDI+框架结构 155
8.2 绘图平面 155
8.2.1 创建Graphics对象 155
8.2.2 使用Graphics对象 156
8.3 Color结构 157
8.3.1 创建颜色对象 157
8.4 画笔(Pen) 158
8.4.1 创建画笔对象 158
8.3.2 预定义颜色 158
8.4.2 预定义画笔对象 159
8.4.3 画笔高级属性 160
8.5 刷子(Brush) 165
8.5.1 SolidBrush类 165
8.5.2 HatchBrush类 166
8.5.3 TextureBrush类 168
8.5.4 LinearGradientBrush类 169
8.5.5 PathGradientBrush类 172
8.6 字体(Font) 176
8.7 混合和变换 177
8.7.1 混合(Blend) 178
8.7.2 变换(Transform) 180
8.8 本章总结 183
9.1.1 直线 185
9.1 绘制图形 185
第9章 图形和图像 185
9.1.2 矩形 186
9.1.3 椭圆 187
9.1.4 圆弧 188
9.1.5 圆饼 189
9.1.6 多边形 190
9.1.7 曲线 192
9.1.8 路径 196
9.2 操作图像 198
9.2.1 显示图像 198
9.2.2 保存图像 202
9.2.3 特效处理 204
9.3 本章总结 206
10.1.1 PrintDocument类 207
14.1 读写文件 207
10.1 打印组件 207
第10章 打印文档 207
10.1.2 PrintPreviewDialog类 209
10.1.3 PrintDialog类 210
10.1.4 PageSetupDialog类 210
10.2 打印实例 211
10.2.1 创建工程 211
10.2.2 实现打印功能 212
10.2.3 实现打印设置功能 215
10.2.4 实现页面设置功能 216
10.2.5 实现打印预览功能 217
10.3 本章总结 218
第11章 拖放操作和剪贴板 219
11.1 拖放编程基础 219
11.1.1 DoDragDrop方法 219
11.1.2 AllowDrop属性 220
11.1.3 “目标”中的拖放事件 220
11.2 进程内拖放操作 223
11.2.1 创建工程 223
11.2.3 实现“拖”功能 224
11.2.2 实现TreeView的事件方法 224
11.2.4 实现“放”功能 225
11.2.5 演示实例 231
11.3 进程间拖放操作 232
11.3.1 创建工程 232
11.3.2 添加显示功能 232
11.3.3 实现“拖”功能 234
11.3.4 实现“放”功能 234
11.3.5 演示实例 235
11.4.1 Clipboard方法 236
11.4 剪贴板操作 236
11.4.2 剪贴板实例 237
11.5 本章总结 240
第12章 组件设计 241
12.1 相关概念 241
12.1.1 组件(Component) 241
12.2.1 属性(Property) 242
12.2 技术基础 242
12.1.3 容器(Container) 242
12.1.2 控件(Control) 242
12.1.4 场所(Site) 242
12.2.2 事件(Event)和代表(Delegate) 244
12.2.3 特性(Attribute) 245
12.2.4 授权(License)组件和控件 248
12.3 设计Windows Forms控件 250
12.3.1 创建工程 250
12.3.2 添加属性 252
12.3.3 添加事件 256
12.3.5 绘制控件 259
12.3.4 覆盖基类方法 259
12.3.6 使用控件 261
12.4 本章总结 266
第13章 进程和线程 267
13.1 了解AppDomain 267
13.1.1 Windows 32进程模式 267
13.1.2 .NET进程模式 268
13.1.3 AppDomain类 268
13.2 操作进程 270
13.2.1 Process类 271
13.2.2 应用实例 272
13.3 操作线程 277
13.3.1 Thread类 278
13.3.2 多线程实例 280
13.4 多线程同步 286
13.4.1 加锁(Lock) 286
13.4.2 监视器(Monitor) 290
13.4.3 互斥体(Mutex) 296
13.4.4 定时器(Timer) 300
13.5 线程池 303
13.5.1 ThreadPool类 303
13.5.2 ThreadPool实例 304
13.6 本章总结 306
第14章 数据流和文件系统 307
14.1.1 获取文件数据流 307
14.1.2 读写文本文件 308
14.1.3 读写二进制文件 311
14.2 异步文件存取 318
14.2.1 异步存取方法 318
14.2.2 程序实例 319
14.3 访问磁盘和目录 323
14.3.1 创建工程 324
14.3.2 实现浏览功能 325
14.3.3 使用对话框 332
14.3.4 演示实例 332
14.4 隔离存储 333
14.4.1 隔离存储简介 333
14.4.2 隔离存储类型 334
14.4.3 隔离存储编程 334
14.4.4 隔离存储实例 337
14.5.2 串行化实例 342
14.5 对象串行化 342
14.5.1 串行化类 342
14.6 本章总结 345
第15章 操作XML 347
15.1 编程模式 347
15.1.1 DOM模式 347
15.1.2 Push模式 348
15.1.3 Pull模式 349
15.2 XML相关类 349
15.2.1 抽象基类 349
15.2.2 继承的子类 352
15.2.3 DOM支持类 353
15.2.4 XslTransform类 356
15.3 应用举例 357
15.3.1 读取XML文档 357
15.3.2 展开实体引用 360
15.3.3 检验控制 363
15.3.4 使用DOM输出XML文档 366
15.3.5 XSLT转换实例 368
15.4 本章总结 371
16.1 Net类概览 373
第16章 网络编程 373
16.1.1 请求/响应层 374
16.1.2 应用协议层 376
16.1.3 传输层 383
16.2 应用举例 384
16.2.1 下载Web页面 384
16.2.2 网络时间客户和服务 386
16.2.3 聊天软件 389
16.2.4 套接字编程 394
16.3 本章总结 397