TableLayoutPanel.GetControlFromPosition(Int32, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.