第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
· · · · · · (
收起)