深入剖析VB.NET框架類庫
VB.NET經過長時間的發展,很多用戶都很了解VB.NET了,這里我發表一下個人理解,和大家討論討論關于VB.NET框架類庫。不論在客戶端應用程序還是服務器組件(包括窗口服務)定時器通常扮演一個重要的角色。寫一個高效的定時器驅動型可管理代碼要求對程序流程有一個清晰的理解及掌握.NET線程模型的精妙之處。VB.NET框架類庫提供了三種不同的定時器類:System.Windows.Forms.Timer, System.Timers.Timer, 和System.Threading.Timer。每個類為不同的場合進行設計和優化。本文章將研究這三個類并讓你理解如何及何時應該使用哪一個類。
Microsoft® Windows®里的定時器對象當行為發生時允許你進行控制。定時器一些最常用的地方就是有規律的定時啟動一個進程,在事件之間設置間隔,及當進行 圖形工作時維護固定的動畫速度(而不管處理函數的速度)。在過去,對于使用Visual Basic®的開發者來說,定時器甚至用來模擬多任務。
正如你所期望的那樣,對于你需要應對的不同場合微軟為你裝備了一些工具。在VB.NET框架類庫中有三種不同的定時器類:System.Windows.Forms.Timer,System.Timers.Timer,和System.Threading.Timer。頭兩個類出現在Visual Studio® .NET的工具箱窗口,這兩個定時器控件都允許你直接把它們拖拽到Windows窗體設計器或組件類設計器上。如果你不小心,這就是麻煩的開始。
Visual Studio .NET工具箱上的Windows窗體頁和組件頁(見Figure 1)都有定時器控件。非常容易的錯誤地使用它們當中的一個,或者更糟糕的是,根本意識不到它們的不同。僅當目標是Windows窗體設計器時才使用Windows窗體頁上的定時器控件。這個控件將在你的窗體上放置一個Systems.Windows.Forms.Timer類的實例。像工具箱上的其它控件一樣,你可以讓Visual Studio .NET處理其生成或者你自己手動的實例和初始化這個類。
VB.NET框架類庫中定時器類的使用 :
Figure 1 定時器控件
在組件頁上的定時器控件可以被安全的用在任何類中。這個控件創建了一個System.Timers.Timer類的實例。如果你正在使用Visual Studio .NET工具箱,無論是Windows窗體設計器還是組件類設計器你都可以安全的使用這個類。在Visual Studio .NET中當你設計一個派生于System.ComponentModel.Component的類時使用組件類設計器。System.Threading.Timer類不出現在Visual Studio .NET工具箱窗口上。它稍微有點復雜但提供了一個更高級別的控件,稍后你會在本文章中看到。
Figure 2 例子程序
讓我們首先研究System.Windows.Forms.Timer和System.Timers.Timer類。這兩個類有著非常相似的對象模型。稍后我將探索更加高級的System.Threading.Timer類。Figure 2 是我將在整個文章引用的例子程序的一個屏幕快照。這個應用程序將會讓你獲得對這幾個定時器類的清晰的理解。你可以從本文章的開始鏈接處下載完整的代碼并試驗它。
P>【編輯推薦】