中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET動態控件怎么用

發布時間:2021-12-02 09:42:59 來源:億速云 閱讀:336 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“VB.NET動態控件怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“VB.NET動態控件怎么用”這篇文章吧。

本文的討論也將著眼于這兩種情況。首先是當程序員需要動態建立一個控件并將代碼附著于控件之上時。例如,你或許想創建一個鏈接列表,但是不知道需要創建鏈接的數量或是鏈接中會出現什么樣的數據。第二種是當程序員需要定義代碼以反映出特殊需求的時候。例如,你或許要執行能反映用戶系統配置的代碼。

類似上述的情況當然不會每天都上演。事實上,它們只在非常情況下才出現。然而,作為程序員,仍然要意識到.NET為解決動態情形提供了方案。有了正確的技巧,你就可以寫出能靈活處理動態情況的應用程序了。

使用VB.NET動態控件

許多程序員總會遇到需要創建VB.NET動態控件的時候。我們所展示的例子中程序員向FlowLayoutPanel中添加了LinkLabels.或許你可以個這樣的設置來記錄和保存常用的URL,文件,網絡地址或是其他資源所在位置的數值。這一示例沒有真正保存鏈接,但是你可以使用XML序列化功能來實現保存。

每次當用戶點擊Test按鈕時,示例代碼就會動態創建一個新的LinkLabel控件。真正的演示代碼并不復雜。以下就展示了創建這類控件以及將控件放入FlowLayoutPanel,lstLabel中通常所需要做的一切。

向FlowLayoutPanel中添加新的鏈接

Private Sub btnTest_Click()     Handles btnTest.Click     ' Create a link.     Dim NewLink As LinkLabel = New LinkLabel()     ' Add some properties to it.     NewLink.Text = DateTime.Now     .ToLongTimeString()     ' Set the click event handler.     AddHandler NewLink.Click,     AddressOf NewLink_Click     ' Place the button on the form.     lstLinks.Controls.Add(NewLink)     End Sub

如你所料,該代碼開始的時候創建了一個新的LinkLabel并為其賦予了一些值。這一示例使用的是當前時間。你的代碼或許能夠對某一真實資源進行訪問。

請注意該代碼也向鏈接的Click事件中指定了一個處理程序。你必須使用示例中的AddHandler技巧,因為普通的Handles關鍵詞路徑不起作用。一方面,設計應用程序的時候你并不清楚控件的名稱。即便你為控件指定了一個名稱,你也不知道用戶要創建的控件數量,所以我們沒有辦法清楚會有多少處理程序會被創建。處理程序的代碼與控件代碼類似,因此沒有必要創建多個處理程序。用于這個示例的處理代碼見例二。例二:處理VB.NET動態控件點擊事件

Private Sub NewLink_Click( _ ByVal sender As System.Object, ByVal e As System.EventArgs)  ' Verify that you actually have a LinkLabel  If Not sender.GetType() Is GetType(LinkLabel) Then  MessageBox.Show("Wrong control type provided!")  Return  End If  ' Convert the input sender to a Button.  Dim ThisLink As LinkLabel = sender   ' Show that we have the correct button.  MessageBox.Show("You created this link at: " + ThisLink.Text)  End Sub

你可能已經注意到例一中的事件處理器使用的是寬松代表——它沒有將ByVal發送器作為System.Object,也沒有將ByVal e作為System.EventArgs作為參數因為它不需要這二者。然而,當你創建一個事件處理器來創建VB.NET動態控件時,通常你需要將ByVal發送器作為 System.Object參數,這意味著將這兩者都包含其中。

有些程序員在創建事件處理器的時候會出現一個錯誤,即沒有檢查傳入控件的類型。發送器對象可能包含多選擇,而如果未對事件處理器進行事件處理類型的設置,那么你就會面臨更多的選擇。我們的示例代碼一開始就檢查了傳入控件對象的類型。這樣以來發送器就不會像下面所展示的代碼一樣:

Private Sub btnTest2_Click() Handles btnTest2.Click   ' Create a link.  Dim NewButton As Button = New Button()  ' Add some properties to it.  NewButton.Text = DateTime.Now.ToLongTimeString()  ' Set the click event handler.  AddHandler NewButton.Click, AddressOf NewLink_Click  ' Place the button on the form.  lstLinks.Controls.Add(NewButton)  End Sub

此代碼在FlowLayoutPanel中創建了一個按鈕,大多數情況下這都能正常運行,除非事件處理器不按照按鈕所示的進行操作。如果你打算服務多個控件類型,那么每個控件類型都需要一個獨特的處理。你可以使用多事件處理器或者為某些類型提供選擇標準。

NewLink_Click()事件處理器照常將傳入發送器轉換成指定類型,在這個示例中則是LinkLabel.該代碼可以訪問LinkLabel屬性并能用其他方式進行互動。在我們的示例中,只顯示了一個能在創建鏈接的時候告知我們的對話框。

以上是“VB.NET動態控件怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德兴市| 岳普湖县| 龙里县| 桂阳县| 苏州市| 宜章县| 香河县| 大厂| 绥德县| 苍溪县| 武定县| 汕头市| 天津市| 永福县| 通辽市| 攀枝花市| 新蔡县| 周至县| 桦川县| 年辖:市辖区| 府谷县| 阜阳市| 吉隆县| 博野县| 嵊泗县| 旌德县| 驻马店市| 兴文县| 龙里县| 敦煌市| 德钦县| 楚雄市| 苍梧县| 章丘市| 江阴市| 苍南县| 万荣县| 旬阳县| 阆中市| 东宁县| 台江县|