【发布时间】:2009-10-20 21:21:30
【问题描述】:
我想在面板中添加用户控件。这必须是自上而下的顺序。
我已经完成了 here 的解释,使它像一个堆栈面板。但是我希望每个用户控件的宽度都填满面板,而不是固定大小。
我尝试使用 tablelayoutpanel 并将它的增长属性设置为“添加行”,但由于我可能处于空间更大的情况,因此高度有时不是恒定的,因为它想要填写最后一行。
【问题讨论】:
标签: c# .net winforms user-interface
我想在面板中添加用户控件。这必须是自上而下的顺序。
我已经完成了 here 的解释,使它像一个堆栈面板。但是我希望每个用户控件的宽度都填满面板,而不是固定大小。
我尝试使用 tablelayoutpanel 并将它的增长属性设置为“添加行”,但由于我可能处于空间更大的情况,因此高度有时不是恒定的,因为它想要填写最后一行。
【问题讨论】:
标签: c# .net winforms user-interface
您仍然可以使用TableLayoutPanel。
要添加控件,您可以使用TableLayoutPanel.Add(Control, int, int) 指定要放入的控件、行和列(在您的情况下,列始终为 0)。您可以通过修改TableLayoutPanel.RowCount 属性来添加行。然后,您将在您添加的每个控件上设置 Control.Anchor 属性,以便它将拉伸到 TableLayoutPanel 的宽度:
Button b = new Button();
b.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
tableLayoutPanel1.Add(b, 0, 0);
AnchorStyles.Top 防止它拉伸到整行的高度。
这只是一个初步的大纲,但您应该能够从这些信息以及MSDN page for TableLayoutPanel 中找出如何使它对您有用。
【讨论】: