Лучшее, что я могу придумать, - это создать метод расширения. Создайте новый модуль с именем «Extensions.vb» и добавьте:
Imports System.Runtime.CompilerServices
Public Module Extensions
<Extension()>
Public Function GetAnyControlAt(Panel As TableLayoutPanel, Column As Integer, Row As Integer) As Control
For Each PanelControl As Control In Panel.Controls
With Panel.GetCellPosition(PanelControl)
If Column = .Column AndAlso Row = .Row Then Return PanelControl
End With
Next
Return Nothing
End Function
End Module
Теперь вы можете использовать следующее для доступа к методу:
Dim MyControl As Control = TableLayoutPanel1.GetAnyControlAt(Column, Row)
Методы расширения добавляют метод в класс, указанный в качестве первого параметра, в данном случае Panel As TableLayoutPanel
, и перетасовывают остальные параметры вместе.