Поделиться через


TableLayoutPanel.GetControlFromPosition(Int32, Int32) Метод

Определение

Возвращает дочерний элемент управления, занимающий заданную позицию.

public:
 System::Windows::Forms::Control ^ GetControlFromPosition(int column, int row);
public System.Windows.Forms.Control GetControlFromPosition (int column, int row);
public System.Windows.Forms.Control? GetControlFromPosition (int column, int row);
member this.GetControlFromPosition : int * int -> System.Windows.Forms.Control
Public Function GetControlFromPosition (column As Integer, row As Integer) As Control

Параметры

column
Int32

Позиция столбца для возвращаемого элемента управления.

row
Int32

Позиция строки для возвращаемого элемента управления.

Возвращаемое значение

Дочерний элемент управления, занимающий заданную ячейку, или значение null, если в указанных строке и столбце не существует элемент управления, или свойство Visible элемента управления имеет значение false.

Исключения

Значение одного из параметров column или row (или обоих параметров) меньше 0.

Примеры

В следующем примере кода перечисляются все позиции ячеек в TableLayoutPanel , циклически просматривая столбцы и строки, заданные ColumnCount и RowCount, а затем вызывая GetControlFromPosition метод для получения элемента управления в каждой ячейке.

private void getcontrolFromPosBtn_Click(
    System.Object sender, 
    System.EventArgs e)
{
    int i = 0;
    int j = 0;
    Trace.WriteLine(this.TableLayoutPanel1.ColumnCount);
    Trace.WriteLine(this.TableLayoutPanel1.RowCount);

    for(i=0; i<=this.TableLayoutPanel1.ColumnCount; i++)
    {
        for(j=0; j<=this.TableLayoutPanel1.RowCount; j++)
        {
            Control c = this.TableLayoutPanel1.GetControlFromPosition(i, j);

            if( c != null )
            {
                Trace.WriteLine(c.ToString());
            }
        }
    }
}
Private Sub getcontrolFromPosBtn_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles getcontrolFromPosBtn.Click


    Trace.WriteLine(Me.TableLayoutPanel1.ColumnCount)
    Trace.WriteLine(Me.TableLayoutPanel1.RowCount)

    For i As Integer = 0 To Me.TableLayoutPanel1.ColumnCount - 1
        For j As Integer = 0 To Me.TableLayoutPanel1.RowCount - 1

            Dim c As Control = Me.TableLayoutPanel1.GetControlFromPosition(i, j)

            If c IsNot Nothing Then

                Trace.WriteLine(c.ToString())

            End If
        Next
    Next

End Sub

Комментарии

Значения позиции столбцов и строк основаны на нулях.

Применяется к

См. также раздел