c# tablelayoutpanel 获得控件的前面的控件
时间: 2023-09-01 12:08:32 浏览: 85
要获得 TableLayoutPanel 中某个控件前面的控件,可以使用 TableLayoutPanel 的 GetPositionFromControl 方法来获取该控件的位置,然后再通过该位置的行和列信息来获取前面的控件。具体实现可以参考下面的代码示例:
```csharp
// 假设要获取名为 textBox2 的控件前面的控件
Control currentControl = textBox2;
// 获取该控件在 TableLayoutPanel 中的位置
TableLayoutPanelCellPosition currentPosition = tableLayoutPanel1.GetPositionFromControl(currentControl);
// 获取前面的控件
if (currentPosition.Column > 0)
{
// 前面的控件在同一行
Control previousControl = tableLayoutPanel1.GetControlFromPosition(currentPosition.Column - 1, currentPosition.Row);
}
else if (currentPosition.Row > 0)
{
// 前面的控件在上一行的最后一个位置
Control previousControl = tableLayoutPanel1.GetControlFromPosition(tableLayoutPanel1.ColumnCount - 1, currentPosition.Row - 1);
}
else
{
// 该控件已经在第一行第一列,无前面的控件
Control previousControl = null;
}
```
需要注意的是,如果该控件已经是第一行第一列的控件,那么没有前面的控件,此时 previousControl 的值为 null。
阅读全文