【问题标题】:Stackpanel with widthstyle set to fill?宽度样式设置为填充的堆栈面板?
【发布时间】:2009-10-20 21:21:30
【问题描述】:

我想在面板中添加用户控件。这必须是自上而下的顺序。

我已经完成了 here 的解释,使它像一个堆栈面板。但是我希望每个用户控件的宽度都填满面板,而不是固定大小。

我尝试使用 tablelayoutpanel 并将它的增长属性设置为“添加行”,但由于我可能处于空间更大的情况,因此高度有时不是恒定的,因为它想要填写最后一行。

【问题讨论】:

    标签: c# .net winforms user-interface


    【解决方案1】:

    您仍然可以使用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 中找出如何使它对您有用。

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 2017-04-08
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2014-04-05
      • 1970-01-01
      相关资源
      最近更新 更多