2013-03-12 59 views
1

我有兩個選項卡中的選項卡控件基本上具有相同的控件。下面是其中兩個選項卡上有共同的一個例子:由發件人訪問兄弟

分組框中

  • 的DataGridView
  • Button1的
  • 將Button2

上的Button2我的單擊事件我要訪問它的兄弟姐妹( DataGridView)通過發件人。

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Tab1_Button2.Click, Tab2_Button2.Click 
    Dim currSender As Button = sender 

是否需要通過「currSender」父級?我不知道如何訪問這些...

回答

1

嘗試是這樣的:使用控件的名稱

Dim dgv As DataGridView = currSender.Parent.Controls("DataGridView1") 

那。你可以在分組框中的所有Datagridview的,並採取了(我想)第一個也是唯一一個:

Dim dgv As DataGridView = crrSender.Controls.OfType(Of DataGridView)(0) 
+0

差不多了,這是我用 昏暗currSender爲按鈕=發送 昏暗的兄弟姐妹的DataGridView = currSender。 Parent.Controls.Item(2) – Alex 2013-03-12 12:44:26

+1

@Alex更危險的是,因爲控件的順序可能會有所不同,並且您依賴它。 – SysDragon 2013-03-12 12:49:00

+0

你是對的,我嘗試使用你的代碼的第二部分,但它不讓我因爲太多的爭論。它不會讓我輸入(0)作爲獲取第一個datagridview的索引。 – Alex 2013-03-12 12:55:08