我一直在争取一段时间,并发现许多其他人也与TableLayoutPanel(.net 2.0 Winforms)的斗争。 问题 我试图采取一个'空白'tablelayoutpanel,其中有10列定义,然后在运行时编程添加控制行(即每个单元格一个控件)。 有人可能会认为它应该是如此简单 myTableLayoutPanel.Controls.Add(myControl, 0 /* Column Index */, 0 /* Row index */); 但是(对我来说)不会添加行。 所以也许可以添加一行样式 myTableLayoutPanel.RowStyles.Clear(); myTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F)); 但是这也行不通。 我挖了myTableLayoutPanel.RowCount ,发现myTableLayoutPanel.RowCount用法从devise时间改变到运行时间,因此做myTableLayoutPanel.RowCount++; 实际上并没有添加其他行,甚至在为它添加RowStyle条目之前/之后! 我遇到的另一个相关的问题是控件将被添加到显示,但他们都只是简单地在TableLayoutPanel的0,0点呈现,另外他们甚至没有被限制在它们应该是Cell的边界内显示在内(即与Dock = DockStyle.Fill他们仍然显得太大/小)。 有人有一个在运行时添加行和控件的工作示例?