我有以下代码将第一个面板的宽度设置为我需要的宽度(出于某种原因,我需要将 expectedWith 除以二以获得实际宽度为我的 expectedWith - 不知道为什么).
splitContainer1.SplitterDistance = expectedWith / 2;
接下来我需要的是第一个面板是固定的,这意味着如果您调整窗口大小,只有第二个面板变大而第一个面板保持不变。为此,我使用以下行:
splitContainer1.FixedPanel = FixedPanel.Panel1;
现在的问题:似乎 FixedPanel 属性完全忽略了第一个面板的大小。如果我使用 FixedPanel-line,我将 SplitterDistance-property 设置为哪个值并不重要。它总是一样的。即使我在表单设计器中设置 SplitterDistance 也没关系。
有解决办法吗?
最佳答案
我可以回答我自己的问题。仅当相应面板的内容在其 Dock 属性中使用 DockStyle.Fill 时才会发生这种情况。解决方案是在设置 FixedPanel 之后立即设置 DockStyle.Fill 值。这也是问题中解释的“除以二”行为的原因。
感谢 John Willemse。
关于c# - SplitContainer 中的 FixedPanel 导致不知道大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103921/