Winform SplitContainers重绘问题

时间:2011-07-10 22:41:24

标签: c# .net winforms user-interface splitcontainer

我在另一个SplitContainer的Panel中添加了一个SplitContainer。分离器移动时,一切都重绘得很好。但是,如果主要表单的最大化/恢复按钮改变了主要的SplitConainer的大小,则内部SplitContainer的大小调整无法正常工作。

如果我移动拆分器,它会重绘一切。我尝试在每个SplitPanel SizeChanged事件中使所有内容无效,但没有运气。你有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我认为这是原因。在将复杂布局简化为几个简单布局后,问题就消失了。

http://social.msdn.microsoft.com/forums/en-US/windowsuidevelopment/thread/25181bd5-394d-4b94-a6ef-06e3e4287527/

一点调查显示Windows在达到某个嵌套级别时停止发送WM_SIZE。换句话说,如果您在父窗口中处理WM_SIZE时尝试调整它们的大小,它将不会将WM_SIZE发送到您的子窗口。根据USER的内容/更新/服务包,在最新的XP 32bit / sp2下,停止传播WM_SIZE的最大嵌套级别可能在15到31之间变化,甚至更高(实际上无法访问)。 但是在XP x64下它仍然太少,而且在某些版本的Vista下,其他消息仍会发生一些类似的丑陋事情。

所以它肯定是Windows的错误。

相关问题