拆分容器中面板的最大高度
Maximum Hight of a panel in Split Container
如何在我的 C# 窗体中设置水平拆分容器中面板的最小和最大高度?
无论 Panel
在哪里,您通常可以通过以下方式指定最大高度和宽度:
panel1.MaximumSize = new Size(300, 300); //max 300 x 300
如果您使用 SplitContainer
并且您的 Panel
在 SplitContainer
中,并且您想要在 SplitContainer
中更改它,但是,您可能在指定最大高度和宽度之前,需要确定 Panel
是否在 Panel1
或 SplitContainer
的 Panel2
中。像这样:
//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
,您也可以尝试使用 SplitContainer.SplitterDistance
属性。
SplitContainer 有 2 个字段:Panel1MinSize 和 Panel2MinSize。要为 panel1 设置最大尺寸,只需为 panel2 设置合适的最小尺寸即可。
我意识到这个问题很老了,但我到处都找不到合适的答案。有人建议将 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 的最大尺寸扩展到的值即可。
如何在我的 C# 窗体中设置水平拆分容器中面板的最小和最大高度?
无论 Panel
在哪里,您通常可以通过以下方式指定最大高度和宽度:
panel1.MaximumSize = new Size(300, 300); //max 300 x 300
如果您使用 SplitContainer
并且您的 Panel
在 SplitContainer
中,并且您想要在 SplitContainer
中更改它,但是,您可能在指定最大高度和宽度之前,需要确定 Panel
是否在 Panel1
或 SplitContainer
的 Panel2
中。像这样:
//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
,您也可以尝试使用 SplitContainer.SplitterDistance
属性。
SplitContainer 有 2 个字段:Panel1MinSize 和 Panel2MinSize。要为 panel1 设置最大尺寸,只需为 panel2 设置合适的最小尺寸即可。
我意识到这个问题很老了,但我到处都找不到合适的答案。有人建议将 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 的最大尺寸扩展到的值即可。