從頭建立 Visual Basic .NET 控制項 (八)

來源:互聯網
上載者:User
visual|建立|控制項 第 7 步:產生和測試控制項
現在 TrafficLight 控制項的設計就完成了。選擇 Build | Build MyControls(產生 | 產生 MyControls),以建立最終的控制項陳列庫。

要測試控制項,我們需要一個 Windows 表單項目。您可以在其他解決方案中執行此操作,但在開發控制項所用的解決方案中執行會更容易。從菜單中選擇 File | Add Project | New Project(檔案 | 添加項目 | 新項目)。選擇 Windows Application(Windows 應用程式)項目類型,將項目命名為 TestTrafficLight。單擊 OK(確定),啟動測試所需的 Windows 應用程式。

必須先將 TrafficLight 控制項放到工具箱中,才能將其拖放到測試應用程式的空白表單 1 中。按右鍵工具箱中的 Windows 表單選項卡,然後選擇 Customize Toolbox(自訂工具箱)。選擇 .NET Framework Components(.NET Framework 組件)選項卡,然後單擊 Browse(瀏覽)按鈕。瀏覽到您的 MyControls 項目所在的位置,然後轉到該項目的 /bin 目錄。選擇 MyControls.dll 組件並單擊 OK(確定)。現在,該對話方塊應如圖 2 所示。



圖 2:在 Customize Toolbox(自訂工具箱)對話方塊中,TrafficLight 控制項被選中。

您可以看到 TrafficLight 控制項旁邊有一個核取記號。單擊 OK(確定)按鈕,在工具箱的 Windows Forms(Windows 表單)選項卡上,TrafficLight 控制項將出現在控制項列表的底部。圖 3 顯示了底部為 TrafficLight 控制項的工具箱。



圖 3:工具箱底部的 TrafficLight 控制項

現在,您可以將 TrafficLight 控制項拖放到 TestTrafficLight 的空白表單 1 中。預設情況下,它被命名為 TrafficLight1。您可以調整控制項的大小,重新設定控制項的屬性,包括 Status 屬性,該屬性有一個下拉式功能表,菜單中包含該屬性的三個可能的值。請注意,調整控制項的大小或更改其屬性時,控制項將在設計器中自動重新整理。

要恢複屬性的預設值,請將 Status 屬性更改為 statusRed。然後,按右鍵 Properties(屬性)視窗中的 Status(狀態)屬性,並選擇 Reset(重設),如圖 4 所示。該屬性將更改回 statusGreen。如果將 BorderWidth 屬性設定為 1 之外的其他值,也可以使用同樣的方法恢複其預設值。



圖 4:Properties(屬性)視窗中 Status(狀態)屬性的 Reset(重設)選項。請注意視窗底部有關 Status(狀態)屬性的說明。

如果需要,還可以為控制項插入 StatusChanged 事件。然後,可以使用該事件中的以下程式碼查看更改後的狀態:

MsgBox("新狀態為 " & NewStatus.ToString)

要在操作中測試該控制項,您需要啟動 TestTrafficLight 項目。此時,它還不是該解決方案的啟動項目,因此您需要解決它。在 Solution Explorer(方案總管)中,按右鍵 Solution(解決方案)名稱 - Solution Explorer(方案總管)中的第一行。選擇 Properties(屬性),然後將 Single Startup Project(單啟動項目)設定從 MyControls 更改為 TestTrafficLight,然後單擊 OK(確定)。

按 F5 鍵啟動該項目。將顯示帶有 TrafficLight 控制項的表單。測試控制項:按下不同的燈,查看它們是否亮起。您還可以測試 BorderWidth 屬性,嘗試在代碼中設定燈的 Status 屬性。

小結
儘管 TrafficLight 是一個簡單的控制項(雖然曾有開發人員要把它用到真實的項目中),但它卻顯示了開發複雜控制項所需要的所有原理,包括:

在控制項中添加屬性。
使用預設值和說明,使屬性與 Visual Studio IDE 協調。
在 Paint 事件中插入邏輯以繪製控制項。
在繪圖邏輯中使用 GDI+。
為控制項設定位元影像,以便在工具箱中顯示。
建立複雜控制項的關鍵在於熟悉 GDI+ 的繪圖能力。如果理解了 TrafficLight 繪製邊框和彩色圓的原理,那麼您就有了一個好的起點。關鍵是,有了 Visual Basic .NET,即使象我這麼懶惰的程式員也能建立進階的 Windows 表單。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。