TableLayoutPanel在删除行时,除了需要删除对应的RowStyle,以及将RowCount减1外,还需将该行的子控件全部删除,否则删除后的结果只是该行的Style变成默认的Style,而该行在视图上依然存在。
示例:
如现有2行2列的TableLayoutPanel,每行内第1列为lable,第2列为textbox,在删除行时,需将lable与textbox都删除,删除方法使用
TableLayoutPanel.Controls.Remove(Control ctl);
而ctl可用方法
TableLayoutPanel.GetControlFromPosition(column,row);
获取。
然后再将对应的RowStyle删除
TableLayoutPanel.RowStyles.RemoveAt(index);
// or
// TableLayoutPanel.RowStyles.Remove(rowstyle);
接着
TableLayoutPanel.RowCount--;