簡體   English   中英

VB.NET 引用發送者控件所在的用戶窗體

[英]VB.NET Reference the user form in which the sender control is located

我想知道如何引用發件人控件所在的用戶表單? 我有一個以編程方式創建的按鈕控件和它所在的用戶窗體,當單擊它時,我需要引用用戶窗體以從該窗體的 combobox 中獲取一個值以將其用作變量,我可以按降序進行,即獲取發件人的子控件但是如何獲得發件人之上的控件?

Sub DynamicForm_NewForm_SmartHUB_ProjectsActivated(ByVal sender As Object, ByVal e As EventArgs)

        strProjectTypeFolderName = '(form in which the sender is located).combobox_ProjectType.selecteditem

    End Sub

您首先需要至少將sender轉換為Control 然后您可以訪問Parent屬性,盡管該屬性是Control類型並且可能不是表單,如果senderPanelGroupBox或其他一些容器中。 您應該改為調用FindForm方法。 它將返回一個Form引用,並且無論sender嵌套多深,它也將獲得包含表單。

如果你有Option Strict On ,你可能沒有,但你絕對應該,即使是Form參考也不夠。 Form class 沒有combobox_ProjectType字段,因此您需要將其轉換為實際類型 - Form1或其他類型 - 以便在不使用后期綁定的情況下訪問該字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM