第1章 你好,Windows Forms 1
1.1 从头开始学习Windows Forms 1
1.2 Visual Studio .NET中的Windows Forms 6
1.3 布置控件 12
1.4 控件 15
1.5 应用程序设置 17
1.6 资源 21
1.7 对话框 24
1.8 绘图 27
1.9 打印 29
1.10 数据绑定 30
1.11 多线程用户界面 33
1.12 部署 35
1.13 本章小结 36
第2章 窗体 37
2.1 显示窗体 37
拥有者窗体和附属窗体 38
2.2 窗体生命周期 40
窗体打开阶段 41
窗体变为非活动窗体以及重新激活窗体 43
窗体关闭阶段 44
2.3 窗体通知行为 46
闪动通知 46
系统托盘通知 47
只存在于系统托盘的应用程序 49
2.4 窗体大小和位置 51
限制窗体大小 55
窗体的Z-Order顺序 56
2.5 窗体修饰 57
2.6 透明窗体 58
非矩形窗体 59
2.7 窗体和快捷菜单 62
快捷菜单 67
2.8 工具条 69
2.9 状态条 71
2.10 多文档界面应用程序 74
2.11 可视化继承 84
2.12 本章小结 86
第3章 对话框 87
3.1 标准对话框 87
3.2 窗体风格 89
在运行时获得窗体是处于模式状态还是非模式状态 90
3.3 数据交换 91
处理OK按钮和Cancel按钮 92
非模式窗体数据 96
3.4 数据验证 97
正则表达式和数据验证 98
掩码文本输入和数据验证 99
数据格式通知功能 100
组合验证 101
整体验证 102
3.5 实现帮助功能 106
工具提示条 106
使用ErrorProvider提供通用信息 107
处理帮助按钮和F1键 109
使用HTML帮助 111
编译好的HTML帮助 113
使用HelpProvider组件 116
显示帮助目录、索引和搜索 117
3.6 本章小结 117
第4章 布局 119
4.1 固定布局 119
位置和大小 119
控件的Z-Order顺序 124
控件的Tab键顺序 125
4.2 动态布局 126
锚定 127
停靠 129
停靠和Z-Order顺序 131
工具条控件的停靠功能 133
自动改变大小 141
自动缩放 142
4.3 布局控件 145
分隔控件 146
分组 147
流式布局 148
TableLayoutPanel 151
4.4 布局优化 153
4.5 自定义布局 154
4.6 本章小结 155
第5章 绘图基础功能 157
5.1 绘制到屏幕上 157
处理Paint事件 158
触发Paint事件 159
5.2 颜色 161
预定义颜色 163
颜色转换 165
5.3 画刷 165
实颜色画刷 166
纹理画刷 166
模式画刷 167
线性渐变画刷 168
路径渐变画刷 170
5.4 画笔 172
线的帽子 174
虚线 175
笔对齐 176
连接点 177
从画刷创建画笔 178
5.5 形状 178
曲线 179
光滑模式 180
保存和恢复图形对象的设置 181
5.6 路径 182
填充模式 185
5.7 图像 185
加载和绘制图像 186
缩放、裁剪、移动和倾斜图像 187
旋转和翻转 189
重新着色 190
透明 191
动画 192
绘制到图像中 195
屏幕拷贝 197
图标 197
鼠标指针 199
5.8 本章小结 202
第6章 绘制文本 203
6.1 字体 203
创建字体 205
字体字样组 206
系统字体 208
字体特性 209
字体高度 211
6.2 字符串 213
格式设置 213
字符串和路径 220
6.3 TextRenderer类 221
使用TextRenderer实现格式设置 223
6.4 两种技术的总结 225
外壳一致性 225
国际化 227
设备无关的绘制 228
字体边界光滑功能支持 229
性能 230
与GDI+图形绘制集成 230
文本格式比较 230
集成 232
6.5 本章小结 233
第7章 高级绘图功能 235
7.1 页面单位 235
将像素转换为页面单位 238
7.2 转换 239
缩放 240
缩放字体 241
旋转 241
变换 243
Shearing 244
组合转换 245
变换帮助器 246
路径变换 247
7.3 区域 248
构造和填充区域 249
区域剪裁 250
区域组合操作 251
7.4 优化绘图操作 251
双缓冲技术 253
手工双缓冲技术 254
双缓冲技术的性能考虑 257
其他绘制选项 257
7.5 本章小结 258
第8章 打印 259
8.1 打印文档 259
8.2 打印控制器 261
打印预览 262
PrintPreviewDialog控件的控制框图标 264
8.3 基本打印事件 265
8.4 边距 268
8.5 页面设置 271
8.6 打印机设置 274
打印范围 276
选择打印机 279
8.7 有用的打印技术 280
单词折行和分页 281
基于每个页面的页面设置 285
动态页面计数 287
8.8 本章小结 289
第9章 组件 291
9.1 组件的定义 291
9.2 使用组件 292
9.3 创建自定义组件 295
直接从System.ComponentModel.Component继承 295
组件资源管理 297
实现IComponent接口 300
向工具箱添加自定义组件 305
自定义功能 306
扩展现存的组件 311
9.4 本章小结 312
第10章 控件 313
10.1 控件的定义 313
10.2 使用控件 314
10.3 主题化控件 316
工具条绘制模式 317
10.4 自画控件 321
ControlPaint类 324
主题样式控件绘制技术 326
10.5 扩展现存的控件 328
10.6 自定义控件 329
直接从System.Windows.Forms.Control派生 329
控件绘制 330
自定义实现 332
EventChanged 334
环境属性 336
控件输入功能 339
滚动 345
Windows消息处理 347
10.7 用户控件 349
测试用户控件 350
10.8 承载COM控件 352
10.9 本章小结 353
第11章 设计期集成:属性窗口 355
11.1 设计期组件 355
11.2 宿主、容器和站点 356
11.3 调试设计期功能 359
11.4 DesignMode属性 360
11.5 特性 361
修改工具箱图标 361
属性窗口集成 362
11.6 代码序列化 368
11.7 批量初始化 369
ISupportInitializeNotification 373
11.8 扩展器属性提供者 375
11.9 类型转换器 381
自定义类型转换器 383
可扩展对象转换器 388
使用TypeConverters执行自定义类型代码序列化 391
11.10 用户界面类型编辑器 394
下拉风格用户界面类型编辑器 396
模式用户界面类型编辑器 399
11.11 本章小结 402
第12章 设计期集成:设计器和智能标签 403
12.1 设计器 403
ComponentDesigner 405
ControlDesigner类 409
只在设计期才用到的属性 411
12.2 智能标签 414
设计器动作 414
设计器动作列表 415
智能标签属性 416
智能标签方法项 425
乏味的智能标签面板外观 428
自定义智能标签面板的外观 430
给快捷菜单添加智能标签方法项 438
切换智能标签项的标签文本 439
设计器动作列表 442
动态的设计器动作 443
12.3 本章小结 447
第13章 资源 449
13.1 资源基础 449
清单资源 450
13.2 强类型资源 454
应用程序资源文件(.resx) 454
管理资源 456
资源的持久化保存 459
使用强类型资源 460
资源管理器 463
强类型资源类 465
设计器资源 468
嵌入原生资源 471
13.3 应用程序国际化 472
文化信息 473
资源本地化 474
非开发人员的资源本地化 478
资源查找 480
资源解析 482
输入语言 483
阅读方向 485
13.4 本章小结 486
第14章 应用程序 487
14.1 应用程序 487
应用程序生命周期 489
应用程序上下文 490
应用程序事件 492
用户界面线程异常 493
传递命令行参数 496
14.2 单实例应用程序 497
单实例检测和管理 498
多窗口SDI应用程序 500
单实例MDI应用程序 508
14.3 本章小结 513
第15章 设置 515
15.1 应用程序环境 515
编译期设置 515
运行时设置 518
15.2 应用程序设置信息、用户设置信息和漫游用户设置信息 524
设置的定义 524
设置文件 525
管理设置 526
编辑设置项 526
应用程序配置文件 530
配置管理器 532
用户配置文件 535
15.3 强类型设置 537
15.4 使用强类型设置 539
使用Settings类 539
装载和检查设置 540
更新设置 542
保存设置 543
回滚设置 544
移植设置 545
15.5 使用设计器来管理设置 549
属性窗口配置 549
属性绑定 551
持久化保存窗体的状态、大小和位置 554
支持工具条的自动布局 555
15.6 其他的设置存储方式 557
注册表 557
特殊文件夹 559
15.7 本章小结 560
第16章 数据绑定基础 561
16.1 数据绑定基础知识 561
16.2 简单数据绑定和项数据源 566
16.3 简单绑定和列表数据源 568
16.4 复杂绑定和列表数据源 572
16.5 IBindingList接口 576
16.6 BindingList<T>类 577
双向的列表变更同步 578
双向的项变更同步 580
16.7 BindingSource组件 581
将项类型转变为列表数据源 581
在设计期使用BindingSource 583
16.8 设计期数据源 584
数据库 585
Web服务 588
对象 590
配置BindingSource组件 592
数据源持久化保存 595
16.9 在设计器中绑定用户界面元素 596
作为可绑定列表数据源的BindingSource组件 596
16.10 本章小结 606
第17章 应用数据绑定 607
17.1 拖放式数据绑定 607
DataGridView绑定用户界面 608
明细绑定用户界面 610
17.2 数据绑定用户界面基础 611
项用户界面 611
列表用户界面 625
17.3 数据视图 634
17.4 实际的数据绑定用户界面 639
主/明细式用户界面 639
列表/项用户界面 644
层次结构用户界面 649
多个数据上下文 651
类型转换器 653
17.5 本章小结 656
第18章 多线程用户界面 657
18.1 长时间运行的操作 657
进度标识 657
异步操作 660
安全性和多线程 663
简化的多线程 669
报告进度 671
共享数据 680
18.2 异步Web服务 683
Web服务组件 687
18.3 本章小结 690
第19章 ClickOnce部署 691
19.1 实现ClickOnce部署的步骤 692
发布应用程序 693
启动应用程序 697
19.2 ClickOnce配置 700
自启动程序 701
应用程序文件 704
发布者细节 705
安装模式 707
版本控制 708
19.3 ClickOnce安全性 711
代码签名 712
代码访问安全机制 720
19.4 管理权限 725
决定所需的权限 725
检查所需的权限 727
19.5 部分信任程序集的注意事项 728
收集程序集信息 728
处理按键 729
通过Web服务通信 730
读取和写入文件 733
处理多个部分信任部署区域的情况 734
调试部分信任应用程序 735
19.6 处理命令行参数 735
19.7 本章小结 738
附录A Windows Forms 2.0的新增功能 739
A.1 关于Windows Forms的几句话 739
A.2 Windows Forms 2.0的增强功能 740
A.3 Windows Forms 2.0的改进功能 742
绘制 744
打印 745
组件和控件 745
设计期集成 746
资源 747
应用程序 748
设置 748
数据绑定 750
多线程用户界面 751
ClickOnce部署 752
附录B 从MFC转移到Windows Forms 753
B.1 关于MFC的一席话 753
B.2 MFC与Windows Forms的对比 755
区别 757
战略 762
B.3 MFC与Windows Forms互操作 763
在Windows Forms中承载MFC COM控件 763
在MFC中承载Windows Forms控件 765
B.4 Windows Forms是更好的MFC 769
附录C 委托和事件 773
C.1 委托 773
接口 774
委托 775
静态监听者 777
C.2 事件 777
收获所有结果 778
异步通知:执行并继续 779
异步通知:轮询 780
异步通知:委托 780
C.3 匿名委托 781
C.4 整个世界的幸福 782
附录D 组件和控件概览 785
D.1 组件 785
BackgroundWorker 785
BindingNavigator 785
BindingSource 785
ColorDialog 786
ErrorProvider 786
FolderBrowserDialog 786
FontDialog 786
HelpProvider 786
ImageList 786
NotifyIcon 787
OpenFileDialog 787
PageSetupDialog 787
PrintDialog 787
PrintDocument 788
PrintPreviewDialog 788
SaveFileDialog 788
SoundPlayer 788
Timer 788
Tool Tip 789
D.2 控件 789
Button 789
CheckBox 789
CheckedListBox 790
ComboBox 790
ContextMenuStrip 791
DataGridView 791
DateTimePicker 791
DomainUpDown 792
FlowLayoutPanel 792
GroupBox 792
HScrollBar 792
Label 793
LinkLabel 793
ListBox 794
ListView 795
MaskedTextBox 796
MenuStrip 796
MonthCalendar 796
NumericUpDown 797
Panel 798
PictureBox 798
PrintPreviewControl 798
ProgressBar 798
RadioButton 799
RichTextBox 799
SplitContainer 800
StatusStrip 800
TabControl 800
TableLayoutPanel 800
TextBox 800
ToolStrip 801
ToolStripContainer 801
TrackBar 801
TreeView 801
VScrollBar 802
WebBrowser 803
附录E 拖放功能 805
E.1 启用拖放功能 805
拖动源 805
放置目标 806
放置目标和COM 809
运行中的拖放操作 810
E.2 添加对多种拖放效果的支持 811
向拖动源添加多种拖放效果 811
向放置目标添加多种拖放效果 812
E.3 自定义拖放操作 814
使用自定义鼠标指针 814
控制拖放操作的结束 816
E.4 拖放多个数据项 817
拖动多个ListView项 818
资源管理器风格的用户界面的一部分 818
启动一个拖动操作 822
运行中的拖动操作 823
完成拖动操作 826
E.5 文件拖放操作 827
附录F 文档管理 829
F.1 FileDocument组件 833
脏位管理 833
文件管理 834
处理File菜单项 836
MDI和FileDocument组件 838
F.2 外壳集成 841
与外壳集成 841
文档图标 842
Start | Documents菜单 844
F.3 MruMenuManager组件 845
获得MRU菜单 846
配置MRU菜单的外观 847
添加文件到MRU菜单中 849
打开MRU文件 850
在应用程序会话之间持久保存MRU菜单 851
MruMenuManager和MDI应用程序 852
F.4 通过从外壳拖放文件来打开文件 853
参考资料 857
索引 861
· · · · · · (
收起)