我已经为此努力了一段时间,并且发现许多其他人也在为 TableLayoutPanel (。Net 2.0 Winform).
问题
我尝试使用一个定义了10列的“空白”tableayoutpanel,然后在运行时以编程方式添加控件行(即每个单元格一个控件)。
人们可能会认为它应该像
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++;
添加 RowStyle 条目之前/之后,myTableLayoutPanel.RowCount++;
并没有添加另一行!
我遇到的另一个相关问题是,控件将被添加到显示器中,但它们都只是在 TableLayoutPanel 的0点被渲染,此外,它们甚至没有被限制在它们应该被显示的 Cell 界限内(即 Dock = DockStyle)。填充它们仍然显得太大/太小)。
有人有在运行时添加行和控件的工作示例吗?