TableLayoutPanel.GetControlFromPosition(Int32, Int32) Método

Definição

Retorna o controle do filho que ocupa a posição especificada.

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

Parâmetros

column
Int32

A posição da coluna do controle a ser recuperada.

row
Int32

A posição da linha do controle a ser recuperada.

Retornos

Control

O controle do filho ocupando a célula especificada; caso contrário, null se nenhum controle existir na coluna e linha especificadas ou se o controle tem sua propriedade Visible definida como false.

Exceções

column ou row (ou ambos) é menor que 0.

Exemplos

O exemplo de código a seguir enumera todas as posições de célula no TableLayoutPanel looping pelas colunas e linhas fornecidas por ColumnCount e RowCount, em seguida, chamando o GetControlFromPosition método para recuperar o controle em cada célula.

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

Comentários

Os valores de posição de coluna e linha são baseados em zero.

Aplica-se a

Confira também