拆分容器中面板的最大高度

时间:2016-04-12 14:49:21

标签: c# winforms split resize max

如何设置最小值和最小值?我的C#表单中水平拆分容器中面板的最大高度?

3 个答案:

答案 0 :(得分:1)

无论Panel位于何处,您通常可以通过以下方式指定最大高度和宽度:

panel1.MaximumSize = new Size(300, 300); //max 300 x 300

如果您使用SplitContainer并且Panel位于SplitContainer内,并且您希望在SplitContainer内进行更改,则可能需要在您指定上述最大高度和宽度之前,确定Panel是否在Panel1的{​​{1}}或Panel2中。像这样:

SplitContainer

但是,如果你想要改变//assuming the name "panel1" in the Panel1 of the SplitContainer Panel panel = splitContainer1.Panel1.Controls["panel1"]; panel.MaximumSize = new Size(300, 300); //max 300 x 300 尺寸本身,你也可以为splitContainer应用MaximumSize

splitContainer

或者,如果您想要更改splitContainer1.MaximumSize = new Size(300, 300); splitContainer.Panel1,您还可以尝试使用splitContainer.Panel2属性。

答案 1 :(得分:1)

我知道这个问题很旧,但是我在任何地方都找不到合适的答案。有人建议将Panel1设置为固定面板,这不是我想要的。我通过使用splitcontainers sizeChanged和SplitterMoved事件来解决此问题:

    private const int Panel1MaxWidth = 1075;
    private void splitContainer1_SizeChanged(object sender, EventArgs e)
    {
        if(splitContainer1.Panel1.Width > Panel1MaxWidth)
        {
            splitContainer1.SplitterDistance = Panel1MaxWidth;
        }
    }

    private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
    {
        if (splitContainer1.Panel1.Width > Panel1MaxWidth)
        {
            splitContainer1.SplitterDistance = Panel1MaxWidth;
        }
    }

只需将Pane1MaxWidth常量设置为您想要将Panel1的最大大小扩展到的任何值即可。

答案 2 :(得分:0)

SplitContainer有两个字段:Panel1MinSize和Panel2MinSize。要设置panel1的最大大小,只需为panel2设置适当的最小大小。