根据窗体大小设置 splitContainer 属性 大小 C# WinForms
Setting splitContainer property sizes depending on Form size C# WinForms
我无法根据我的表单大小设置 splitContainer
大小。
加载我的表单时,它位于 1170,930
的 MinimumSize
处。但是,如果我调整表单的大小,.SplitterDistance
和 .Panel2MinSize
都在不同的位置,那么它们应该在的位置。
我已尝试使用 Form_SizeChanged
事件进行以下操作,但它无法正常工作。有没有一种方法可以计算 .SplitterDistance
和 .Panel2MinSize
以适应表单大小调整。
private void MainForm_SizeChanged(object sender, EventArgs e)
{
int x = this.Size.Height;
int y = this.MinimumSize.Height;
splitContainer1.SplitterDistance = splitContainer1.SplitterDistance + (x - y);
splitContainer1.Panel2MinSize = splitContainer1.Panel2MinSize + (x - y);
}
提前致谢。
编辑
添加了一些图片以在下面提供更好的示例。
表格标准(它应该是什么样子)
表格调整大小
您似乎希望保持其中一个面板大小相同,并在调整窗体大小时移动拆分器。
有一个 属性 告诉它在调整大小时第一个还是第二个面板是否应该保持 "fixed":
splitContainer1.FixedPanel = FixedPanel.Panel2; // or FixedPanel.Panel1
我无法根据我的表单大小设置 splitContainer
大小。
加载我的表单时,它位于 1170,930
的 MinimumSize
处。但是,如果我调整表单的大小,.SplitterDistance
和 .Panel2MinSize
都在不同的位置,那么它们应该在的位置。
我已尝试使用 Form_SizeChanged
事件进行以下操作,但它无法正常工作。有没有一种方法可以计算 .SplitterDistance
和 .Panel2MinSize
以适应表单大小调整。
private void MainForm_SizeChanged(object sender, EventArgs e)
{
int x = this.Size.Height;
int y = this.MinimumSize.Height;
splitContainer1.SplitterDistance = splitContainer1.SplitterDistance + (x - y);
splitContainer1.Panel2MinSize = splitContainer1.Panel2MinSize + (x - y);
}
提前致谢。
编辑
添加了一些图片以在下面提供更好的示例。
表格标准(它应该是什么样子)
表格调整大小
您似乎希望保持其中一个面板大小相同,并在调整窗体大小时移动拆分器。
有一个 属性 告诉它在调整大小时第一个还是第二个面板是否应该保持 "fixed":
splitContainer1.FixedPanel = FixedPanel.Panel2; // or FixedPanel.Panel1