Winform:SplitterContainer内部的SplitterContainer行为不端

时间:2012-08-03 20:39:05

标签: c# panel splitter

我在表格上放置了一个分离器容器(垂直)。在右侧面板中,我放置了另一个splittercontainer(水平)。

当我运行应用程序时,最顶层的splittercontainer工作正常,没有问题。问题在于嵌入式分离器容器。

调整大小时嵌入式分离器容器的大小很好,但是面板显示为较小的大小。我甚至没有可能做到的事情。我似乎无法让嵌入式面板始终如一地显示正确的尺寸。

我进行了搜索,并发现了这篇文章。

http://support.microsoft.com/kb/953934

我尝试了推荐的解决方案,对于任何微软帖子都很常见,但它不起作用。

事实上,没有建议的解决方案,事情会更好。至少在应用程序显示之后,我能够通过调整任一控件的分配器容器来正确调整面板的大小。

思想?

提前致谢,

萨拉

1 个答案:

答案 0 :(得分:0)

经过相当长的一段时间后,似乎发布我的问题让我想到了一个解决方案。

外部分离器容器必须设置为对接类型填充。将第二个分离器容器直接嵌入Panel 2中,并将其设置为对接类型填充。

在resize事件中,不要为拆分器容器添加任何Controls.Add(),因为这是在设计器中完成的。您应该为要显示的任何表单添加Controls.Add()。

不要调整分离器容器的大小。允许Windows执行此操作。请调整表单的大小。确保首先将TopLevel设置为false,并在添加到面板控件后显示表单。

我尝试了对接类型none和其他一些东西。它要么设置为无,要么设置手动设置大小或任何导致问题的原因。

我希望这篇文章可以帮助别人。