小智 5
我意识到这个问题很老了,但我在任何地方都找不到合适的答案。有人建议将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;
}
}
Run Code Online (Sandbox Code Playgroud)
只需将 Pane1MaxWidth 常量设置为您希望 Panel1 扩展至的最大尺寸即可。
SplitContainer 有 2 个字段:Panel1MinSize 和 Panel2MinSize。要设置 panel1 的最大尺寸,只需为 panel2 设置适当的最小尺寸即可。