窗體和新的IDE
Visual Basic.NET中新的面向對象的特性確實不錯,但絕不僅僅是你啟動VB.NET時見到的那樣。你首先看到的是IDE,IDE看起來很熟悉,開發VS.NET IDE的開發人員以前曾開發過VB的IDE,它在VB IDE的基礎上又有了新的提高。
然而,IDE的變化絕非是表面性的。所有的.NET語言都使用同一個IDE,其中的新工具的功能是強大而全面的,你可以把任何一個設計窗口設定為自動隱藏(就象Windows中的任務條一樣),這樣就可以使桌面顯得不太凌亂。主工作區是一系列的標簽,也就是說IDE不會同時顯示許多的窗體或代碼模塊,在打開對象的源代碼時,IDE就會在相應對象的主區內增加新按鈕。
IDE中還有一個新的被稱作任務清單的窗口,其中的內容包括你和IDE創建的項目。例如,如果在編譯一個項目時收到一個錯誤信息,VB就會在任務清單中創建一個條目來解釋這個問題。你還可以直接在任務清單中添加一個條目,或者通過在代碼中建立以"TODO:"開頭的注釋把代碼中的一個位置與任務聯系起來。我非常喜歡微軟添加的任務清單,它能使我節約不少的時間,并有助于我能夠更好地調試自己的軟件。
另一個會立刻感受到的變化是VB.NET中的窗體。微軟拋棄了原來的窗體引擎,而采用了Windows風格的窗體,所有的基于CLR的語言都使用Windows的窗體引擎,與VB6中的使用的窗體引擎相比,它有幾個明顯的優點。例如,Windows的窗體可以自動地改變其中的組件的大小,而且可以把控制鎖定在特定的位置,也就是說,我們無需借助第三方的工具來完成相應的工作了。另外,Windows的窗體還可以使我們完成另外一些很"酷"的工作,例如創建透明的窗體。
過去,VB隱藏了創建一個窗體所必需的全部工作。我們使用IDE創建一個窗體,并在Initialize事件處理程序中添加代碼,但對于發生在這兩者之間的過程則無能為力。在VB.NET中,窗體成了一個類,包含創建窗體的全部代碼,我認為這些代碼是"雞肋",原因是大多數的開發人員都不想去理它。如果說有一種東西一定能讓你的軟件出問題,那就是這些代碼了。一些高級開發人員可以通過這些代碼完成一些很"酷"的工作,因為它可以讓你"看到"VB創建窗體的全部情況。如果不想看,你并非必須看這些代碼,新的代碼編輯器可以擴展或消除一些代碼區,在缺省狀態下這些代碼是不會顯示的。代碼編輯器還包括一些新的特性,例如它可以自動地對編輯的源代碼進行"縮進"處理,而且可以顯示源代碼的行號。