c# - SplitContainer 中的 FixedPanel 导致不知道大小

标签 c# .net winforms

我有以下代码将第一个面板的宽度设置为我需要的宽度(出于某种原因,我需要将 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/

相关文章:

c# - 没有安装 Entity Framework 驱动程序的 DMS?

c# - MVC 模型在 HTTPOST 中为空

c# - 定义环境变量

c# - 最佳实践 - 在派生类中设置继承变量

c# - 如何在 wpf 后台执行任务,同时能够提供报告并允许取消?

c# - 检查 T 是否为 IEnumerable

.Net 应用程序 - Microsoft Text 驱动程序问题

c# - c#中重载控件绘制有文本渲染问题

c# - 为什么即使我释放/处置位图,我也会收到 OutOfMemoryException?

c# - 在 WinForm C# 中获取最新的 xml (url)