TableLayoutPanel.GetControlFromPosition(Int32, Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar den underordnade kontrollen som upptar den angivna positionen.
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
Parametrar
- column
- Int32
Kolumnpositionen för kontrollen som ska hämtas.
- row
- Int32
Radpositionen för kontrollen som ska hämtas.
Returer
Den underordnade kontrollen som upptar den angivna cellen. annars, null om det inte finns någon kontroll på den angivna kolumnen och raden, eller om kontrollen har sin Visible egenskap inställd på false.
Undantag
Antingen column eller row (eller båda) är mindre än 0.
Exempel
Följande kodexempel räknar upp alla cellpositioner i TableLayoutPanel genom att loopa igenom kolumnerna och raderna som anges av ColumnCount och RowCount, och anropar GetControlFromPosition sedan metoden för att hämta kontrollen i varje cell.
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
Kommentarer
Kolumn- och radpositionsvärdena är nollbaserade.