2013-03-12 3 views
1

기본적으로 동일한 컨트롤이있는 탭 컨트롤에는 두 개의 탭이 있습니다. 여기에 두 탭이 공통적으로 가지고있는 예입니다 :보낸 사람 별 형제 액세스

그룹 상자는

  • DataGridView에
  • 나는 그것이 형제의 액세스 할 Button2를 내 클릭 이벤트에 Button1을
  • 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"상위를 통과해야합니까? 컨트롤의 이름을 사용

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

그게 전부 : 나는 ...

답변

1

이 시도 같은 것을들에 액세스하는 방법을 모르겠어요. 당신은 그룹 상자의 모든 Datagridview 년대를 얻고 (내 생각) 최초이자 유일한 하나 수행 할 수 있습니다

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

이 거의, 여기에 내가있는 DataGridView = currSender으로 버튼 = 보낸 사람 희미한 형제 자매로서 희미한 currSender을 사용하는 것입니다. Control.Item (2) – Alex

+1

@Alex 컨트롤의 순서가 다를 수 있기 때문에 그 위험은 훨씬 더 위험합니다. – SysDragon

+0

맞아요, 코드의 두 번째 부분을 사용해 보았지만 너무 많은 인자 때문에 나를 두지 않았습니다. 첫 번째 DataGridview를 가져 오는 인덱스로 (0)을 입력 할 수 없습니다. – Alex