动态删除 TableLayoutPanel 的某一行
说明:TableLayoutPanel 动态删除一行要修改三处地方:
- 删除该行单元格内的控件
- 删除该行样式
- 设置行数量-1
如果只删除了行样式和行数量, 没有删除里面的控件,一样达不到删除效果。另外,改行删除后,改行位置会变成空白。需要将后面的行依次向上移动。
private void tableDeleteRow(TableLayoutPanel tableLayoutPanel1, int row)
{
int column = tableLayoutPanel1.ColumnCount;
// 删除该行单元格中的控件
Control control;
for (int j = 0; j < column; j++)
{
control = tableLayoutPanel1.GetControlFromPosition(j, row);
tableLayoutPanel1.Controls.Remove(control);
}
// 删除该行样式
tableLayoutPanel1.RowStyles.RemoveAt(row);
// 行数设置 - 1
tableLayoutPanel1.RowCount = tableLayoutPanel1.RowCount - 1;
}
参考:https://www.fengyunxiao.cn">https://www.fengyunxiao.cn