圖書簡介
隨著.NET功能的整體增強,Visual Basic的功能也得到極大的提升,套用也越來越廣。本書通過大量示例詳細闡述Visual Basic 2005的新特性、各種編程知識和開發方法,適合那些有一點Visual Basic .NET基礎知識的初級程式設計師或者想遷移到Visual Basic 2005的其他程式設計師。
目錄
第1章什麼是Microsoft.NET 1
1.1.NET概述 1
1.1.1未來套用廣泛而深邃的平台 2
1.1.2DNA和COM的缺陷 2
1.2.NETFramework概述 3
1.3公共語言運行庫 4
1.3.1主要的設計目標 4
1.3.2元數據 6
1.3.3多語言集成和支持 6
1.3.4公共類型系統 7
1.3.5命名空間 7
1.4.NETClassFramework 7
1.5用戶和程式接口 9
1.5.1Windows窗體 9
1.5.2Web窗體 10
1.5.3控制台應用程式 10
1.5.4Web服務 10
1.6作為.NET“元語言”的XML 11
1.7COM的角色 11
1.8永遠不會改變的一些事實 12
1.9.NET對VB的影響 12
1.10.NET對我們的影響 12
1.10.1編程模型 12
1.10.2減少了Internet
開發的障礙 13
1.10.3預編寫的功能庫 13
1.10.4部署更簡單 13
1.11.NET的未來 14
1.12.NET2.0的改進 14
1.13小結 15
第2章VB2005和VS2005簡介 17
2.1VisualStudio.NET——入門 17
2.2VisualStudio2005 18
2.2.1SolutionExplorer視窗 20
2.2.2MyProject視圖 21
2.2.3引用 21
2.2.4程式集信息 22
2.2.5新代碼視窗 23
2.2.6Properties視窗 26
2.2.7動態幫助 27
2.3使用VisualBasic2005 27
2.3.1運行ProVB.NET 28
2.3.2在代碼中設定窗體屬性 28
2.4增強範例應用程式的功能 29
2.4.1添加控制項和事件處理程式 30
2.4.2定製代碼 31
2.4.3構建配置 35
2.4.4創建應用程式 37
2.5VisualStudio中的特色功能 40
2.5.1任務列表 40
2.5.2Command視窗 41
2.5.3ServerExplorer 41
2.5.4在VisualStudio2005
中記錄和使用宏 42
2.6小結 43
第3章變數和類型 45
3.1值類型和引用類型的區別 46
3.2值類型(結構) 47
3.3顯式轉換 55
3.3.1編譯器選項 56
3.3.2執行顯式轉換 57
3.4引用類型(類) 59
3.4.1Object類 60
3.4.2String類 61
3.4.3DBNull類和IsDBNull函式 64
3.4.4數組 64
3.4.5集合 67
3.5參數傳遞 68
3.6裝箱 69
3.7不再使用的關鍵字和方法 70
3.8小結 72
第4章對象語法綜述 73
4.1面向對象的術語 74
4.1.1對象、類和實例 74
4.1.2對象的組成 74
4.2使用對象 77
4.2.1對象的聲明和實例化 77
4.2.2對象引用 79
4.2.3取消對象的引用 79
4.2.4前期及後期綁定 79
4.3創建類 83
4.3.1創建基類 83
4.3.2構造函式方法 100
4.3.3終止和清除 101
4.4高級概念 102
4.4.1重載方法 103
4.4.2重載構造函式方法 105
4.4.3共享方法、變數和事件 106
4.4.4運算符重載 111
4.4.5委託 114
4.4.6類和組件 118
4.5小結 120
第5章繼承與接口 121
5.1繼承 121
5.2多接口 165
5.2.1對象接口 165
5.2.2輔助接口 167
5.3小結 172
第6章公共語言運行庫 175
6.1.NET應用程式的組成元素 175
6.1.1模組 176
6.1.2程式集 177
6.1.3類型 177
6.2版本化與部署 178
6.2.1對版本化更好的支持 178
6.2.2更好的部署 179
6.3跨語言集成 179
6.3.1通用類型系統 180
6.3.2元數據 181
6.3.3對元數據更好的支持 181
6.3.4屬性 182
6.3.5ReflectionAPI 184
6.4ILDisassembler 184
6.5記憶體管理 185
6.5.1傳統的垃圾回收機制 186
6.5.2更快地為對象分配記憶體 193
6.5.3垃圾回收器的最佳化 193
6.6小結 195
第7章對象和組件的套用 197
7.1抽象性 197
7.2封裝性 200
7.3多態性 203
7.3.1方法簽名 203
7.3.2實現多態性 203
7.4繼承 213
7.4.1使用繼承的場合 213
7.4.2繼承和多接口 216
7.4.3進一步探討 222
7.4.4“脆弱”的基類問題 223
7.5小結 226
第8章泛型 227
8.1泛型的使用 227
8.1.1泛型類型 228
8.1.2泛型方法 232
8.2創建泛型 233
8.2.1泛型類型 233
8.2.2泛型方法 241
8.2.3約束 242
8.2.4泛型和後期綁定 245
8.3小結 246
第9章命名空間 247
9.1命名空間的概念 247
9.1.1命名空間與引用 250
9.1.2常用的命名空間 252
9.2導入命名空間並指定別名 254
9.2.1導入命名空間 254
9.2.2在ASP.NET
中引用命名空間 255
9.2.3為命名空間指定別名 256
9.3創建自己的命名空間 256
9.4My關鍵字 259
9.4.1My.Application命名空間 260
9.4.2My.Computer命名空間 264
9.4.3My.Forms命名空間 267
9.4.4My.Resources命名空間 267
9.4.5My.User命名空間 267
9.4.6My.WebServices命名空間 267
9.5小結 268
第10章異常處理和調試 269
10.1VB6中的錯誤處理 269
10.2.NET中的異常處理 271
10.2.1異常的重要屬性和方法 271
10.2.2異常與VB6中Err對象的區別 272
10.3VB.NET中結構化異常處理的關鍵字 272
10.4與VB6樣式的錯誤處理互動操作 284
10.5錯誤記錄 285
10.6使用Trace類分析問題和測試性能 290
10.7小結 293
第11章用ADO.NET2.0訪問數據 295
11.1ADO.NET2.0體系結構的改進 296
11.2.NET數據提供程式 298
11.2.1Connection對象 298
11.2.2Command對象 298
11.2.3通過Command對象使用存儲過程 299
11.2.4DataReader對象 303
11.2.5命令的異步執行 305
11.2.6DataAdapter對象 307
11.2.7SQLServer.NET數據提供程式 311
11.2.8OLEDB.NET數據提供程式 312
11.3DataSet組件 312
11.3.1DataTableCollection對象 312
11.3.2DataRelationCollection對象 313
11.3.3ExtendedProperties屬性 313
11.3.4創建和使用DataSet對象 314
11.3.5ADO.NETDataTable對象 316
11.3.6ADO.NET2.0對DataSet和DataTable的改進 317
11.4使用通用提供程式模型 319
11.5ADO.NET2.0對連線池的改進 321
11.6創建DataAccess組件 321
11.6.1構造函式 323
11.6.2屬性 324
11.6.3存儲過程使用的XML結構 325
11.6.4方法 325
11.6.5使用DataSet對象綁定
DataGrid 338
11.7小結 341
第12章在VB2005中使用XML 343
12.1XML簡介 344
12.2XML串列化 345
12.3System.Xml文檔支持 351
12.4XML流樣式分析程式 352
12.4.1寫入XML流 353
12.4.2讀取XML流 356
12.4.3使用MemoryStream對象 366
12.4.4文檔對象模型(DOM) 369
12.5XSLT轉換 375
12.5.1使用XSLT轉換不同的XML標準 380
12.5.2在VB2005中使用XML 380
12.5.3System.Xml.Xsl中定義的其他類和接口 382
12.6ADO.NET 383
12.6.1ADO.NET和SQLServer2000內置的XML功能 384
12.6.2XML與SQLServer2005 386
12.7小結 387
第13章.NETFramework2.0版中的安全性 389
13.1安全的概念與定義 390
13.2System.Security.Permissions命名空間中的許可權 391
13.2.1代碼訪問許可權 393
13.2.2基於角色的許可權 394
13.2.3身份許可權 396
13.3管理代碼訪問許可權 396
13.4管理安全策略 401
13.4.1應用程式順利運行所需要的最少許可權 410
13.4.2使用VS2005判斷最少許可權集合 411
13.4.3安全性工具 414
13.4.4使用SecurityException類處理異常 414
13.5加密基礎 416
13.6小結 437
第14章Windows窗體 439
14.1Windows窗體的重要性 439
14.2Windows窗體2.0版的更新內容 440
14.2.1默認的窗體實例 440
14.2.2現存控制項的改進 440
14.2.3新增控制項 441
14.2.4對老版本Windows窗體控制項的替換 442
14.3System.Windows.Forms命名空間 443
14.4窗體的使用 443
14.4.1通過SubMain顯示窗體 444
14.4.2設定啟動窗體 445
14.4.3啟動位置 445
14.4.4窗體框線 445
14.4.5始終置頂——TopMost屬性 446
14.4.6附屬窗體 446
14.4.7改變窗體的透明度 447
14.4.8可視化繼承 449
14.4.9滾動窗體 449
14.5運行時的窗體 449
14.6控制項 450
14.6.1以Tab鍵切換控制項的順序 451
14.6.2控制項數組 451
14.6.3自動調整控制項的大小和布局 453
14.6.4FlowLayoutPanel控制項 457
14.6.5TableLayoutPanel控制項 458
14.6.6擴展的Provider控制項 459
14.6.7數據輸入的高級功能 462
14.6.8驗證數據輸入 464
14.6.9工具列與新增的ToolStrip控制項 465
14.6.10選單 468
14.6.11通用對話框 470
14.6.12拖放操作 472
14.6.13Panel和GroupBox容器控制項 474
14.6.14標準Windows窗體控制項小結 475
14.6.15已撤銷的控制項 478
14.6.16使用ActiveX控制項 478
14.6.17其他的編程技巧 478
14.6.18MDI窗體 479
14.6.19一個VB.NET中的MDI樣例 480
14.6.20對話框窗體 482
14.7小結 484
第15章Windows窗體的高級功能 485
15.1在可視化控制項中封裝邏輯 485
15.2在.NET中開發自定義的控制項 486
15.2.1繼承現有的控制項 486
15.2.2構建複合控制項 487
15.2.3從頭編寫控制項 487
15.3繼承現存的控制項 487
15.3.1基本步驟 487
15.3.2給自定義控制項添加邏輯 488
15.3.3其他有用的特性 491
15.4Control與UserControl基類 496
15.4.1Control類 496
15.4.2UserControl類 497
15.5複合的UserControl控制項 498
15.5.1創建一個複合的UserControl 499
15.5.2如何改變控制項的大小 500
15.5.3設定最小值 500
15.5.4提供子控制項的屬性 500
15.5.5一個具體的例子 500
15.6從頭構建控制項 503
15.7給工具箱中的控制項添加圖示 510
15.8在控制項中嵌入其他控制項 510
15.9小結 512
第16章構建Web應用程式 515
16.1Web站點樣例 515
16.1.1設定環境 515
16.1.2HelloWorldWeb窗體 516
16.2Web窗體的結構 520
16.2.1單檔案頁面模型 521
16.2.2後台編碼頁面模型 522
16.2.3顯示模板 523
16.3一個更複雜的例子 524
16.4ASP.NETWeb窗體的處理流程 526
16.5Web窗體中的控制項 527
16.5.1伺服器控制項的概念 527
16.5.2HTML伺服器控制項 529
16.5.3ASP.NET伺服器控制項 530
16.5.4驗證控制項 532
16.5.5用戶控制項 534
16.6Web窗體中的事件 534
16.6.1Web窗體的生命周期 535
16.6.2事件類別 536
16.7Web窗體與ASP 537
16.8在Web窗體間傳送控制項 538
16.9最後一個例子 539
16.10小結 551
第17章ASP.NET2.0的高級功能 553
17.1應用程式和頁面 553
17.1.1跨頁面傳送 553
17.1.2ASP.NET高級編譯功能 557
17.2主頁面 559
17.2.1主頁面的創建 560
17.2.2內容頁面的創建 562
17.2.3在應用程式範圍內聲明主頁面 565
17.2.4為主頁面提供默認內容 566
17.3應用程式中的數據訪問 566
17.3.1使用GridView和
SqlDataSource控制項 567
17.3.2允許在GridView中編輯和刪除記錄 571
17.3.3其他內容 576
17.4頁面導航 576
17.4.1使用SiteMapPath伺服器控制項 577
17.4.2Menu伺服器控制項 578
17.4.3TreeView伺服器控制項 580
17.5成員和角色管理 583
17.6個性化功能 587
17.7配置ASP.NET 588
17.8小結 590
第18章程式集 591
18.1程式集 591
18.2清單 592
18.2.1標識部分 594
18.2.2引用的程式集 595
18.3程式集與部署 596
18.3.1應用程式私有的程式集 596
18.3.2共享程式集 596
18.4版本化問題 598
18.4.1應用程式隔離 598
18.4.2並行執行 599
18.4.3自描述 599
18.4.4版本策略 599
18.4.5配置檔案 600
18.5程式集的動態載入 604
18.5.1Assembly類 604
18.5.2傳入程式集 605
18.6小結 605
第19章應用程式部署 607
19.1應用程式部署 607
19.1.1.NET對應用程式部署方法的改進 608
19.1.2XCOPY部署 609
19.1.3使用WindowsInstaller 609
19.2VS.NET部署項目 611
19.2.1項目模板 611
19.2.2創建部署項目 613
19.2.3兩個範例 613
19.3修改部署項目 622
19.3.1項目屬性 623
19.3.2FileSystem編輯器 626
19.3.3Registry編輯器 630
19.3.4FileTypes編輯器 632
19.3.5UserInterface編輯器 634
19.3.6CustomActions編輯器 636
19.3.7LaunchConditions編輯器 638
19.4構建部署/安裝項目 641
19.5Windows應用程式的Internet部署 641
19.5.1“無接觸”部署 641
19.5.2ClickOnce部署 642
19.5.3自定義的部署方法 650
19.6小結 650
第20章使用傳統的COM和接口 653
20.1傳統的COM 653
20.2COM和.NET的互動 654
20.2.1傳統的組件 654
20.2.2.NET應用程式 657
20.2.3調試 659
20.2.4直接使用TlbImp 659
20.2.5後期綁定 660
20.3ActiveX控制項 665
20.3.1傳統的ActiveX控制項 666
20.3.2另一個.NET應用程式 668
20.3.3再次調試 670
20.4.1.NET組件 670
20.4.2RegAsm 672
20.4.3TlbExp 675
20.5小結 676
第21章企業級服務 677
21.1事務處理 677
21.2事務處理組件 679
21.3事務處理的其他方面 692
21.3.1Just-In-Time 692
21.3.2對象池 692
21.3.3環境控制 692
21.4排隊組件 693
21.4.1一個排隊組件樣例 693
21.4.2使用排隊組件進行事務處理 698
21.5小結 700
第22章執行緒技術 701
22.1執行緒的含義 701
22.1.1進程、應用程式域和執行緒 702
22.1.2執行緒的調度 704
22.1.3執行緒安全性與執行緒親和性 706
22.1.4何時使用執行緒 706
22.1.5設計後台任務 707
22.1.6互動式應用程式 707
22.2執行緒的實現 708
22.2.1一個簡單的例子 708
22.2.2執行緒的實現方式 711
22.2.3手工創建執行緒 716
22.2.4共享數據 717
22.2.5避免共享數據的使用 718
22.2.6通過同步共享數據 720
22.2.7同步對象 722
22.3小結 728
第23章XMLWeb服務 729
23.1Web服務介紹 729
23.2早期的體系結構設計 730
23.2.1網路角度 730
23.2.2應用程式的發展 730
23.2.3通過Web合併Internet和應用程式 731
23.2.4Web服務基礎 731
23.2.5存在的問題 733
23.2.6其他技術 733
23.2.7被忽略的事實 734
23.3構建Web服務 738
23.4一個實際的例子 740
23.6利用Web服務進行設計 752
23.6.1Web服務的作用 752
23.6.2Web服務的兼容性 753
23.6.3XMLWeb服務的狀態管理 753
23.6.4把DNS用作模型 754
23.7Web服務的安全 757
23.7.1加密套接字層 757
23.7.2目錄級安全 757
23.7.3其他形式的安全性 758
23.8分散式體系結構的缺點 758
23.8.1安全性方面的缺點 758
23.8.2狀態方面的缺點 758
23.8.3事務處理方面的缺點 758
23.8.4速度與連線性方面的缺點 759
23.9Web服務的發展前景 759
23.10小結 759
第24章遠程技術 761
24.1遠程技術概述 762
24.1.1基本術語 762
24.1.2SingleCall、Singleton和激活的對象 764
24.2遠程技術的實現 768
24.2.1一個簡單的例子 768
24.2.2把IIS用作遠程主機 778
24.2.3使用Activator.GetObject 782
24.2.4基於接口的設計 783
24.2.5使用生成的代理 785
24.3小結 785
第25章Windows服務 787
25.1Windows服務範例 787
25.2Windows服務的特性 788
25.3與Windows服務互動 788
25.4創建Windows服務 789
25.4.1用於Windows服務的.NETFramework類 790
25.4.2其他類型的Windows|服務 792
25.5在VB2005中創建Windows服務 793
25.6創建計數監視器服務 794
25.6.1安裝服務 796
25.6.2啟動服務 797
25.6.3卸載服務 798
25.7監視性能計數器 798
25.7.1創建性能計數器 798
25.7.2把計數器集成到服務中 799
25.7.3修改性能計數器中的值 800
25.8與Windows服務通信 801
25.8.1ServiceController類 801
25.8.2把ServiceController集成到例子中 802
25.8.3ServiceController的更多內容 804
25.9定製命令 804
25.10給服務傳遞字元串 806
25.11創建檔案監視程式 806
25.11.1使用Eventlog編寫事件 806
25.11.2創建FileSystem
Watcher 807
25.12調試服務 811
25.13小結 813
第26章網路編程 815
26.1傳送訊息:協定、地址和連線埠 815
26.1.1地址與計算機名 817
26.1.2連線埠:指定應用程式 817
26.1.3防火牆:不離不棄 818
26.2System.Net命名空間 818
26.2.1Web請求與回響 818
26.2.2使用WebClient簡化常用的Web請求 835
26.2.3使用HttpListener創建自己的Web伺服器 837
26.3小結 845
第27章VB2005與Internet 847
27.1下載Internet資源 847
27.2套接字 851
27.2.1建立應用程式 851
27.2.2創建Conversation視窗 853
27.2.3傳送訊息 861
27.2.4關閉應用程式 866
27.4小結 879
附錄AVB編譯器 881
附錄BVisualBasic資源 895