我有一个视窗形式的下列结构:

Form (AutoResize = true, AutoSizeMode = GrowAndShrink)
    FlowLayout (AutoResize = true, AutoSizeMode = GrowAndShrink)
        GroupBox
        GroupBox
        GroupBox
    StatusStrip

我的期望是,改变GroupBoxes的可见性应该导致窗口捕捉到新的大小来回收空的空间,或适应新的控制。然而,这并不会自动发生。如果我最小化到托盘,然后还原形式(即肘节可见,ShowInTaskbar,的WindowState =正常/最小化),然后,当它重新出现,就必须正确地更新。触发它是一个更新到页面底部的一个StatusStrip中内容的另一件事情(表示标签,更改进度条等)。我试过的Invalidate /更新/ onResize受到等各种巫术风格的组合,但我觉得我失去了一些更基本的,希望有人能看到什么我描述着明显的缺陷。

我在表格上的所有部件更新InvokeRequired / Invoke的内部,如果这是相关的。

有帮助吗?

解决方案

我不能使用你的布局和属性设置一个简单的测试形式瑞普这个问题。该表格的客户区在启动收缩,并根据需要使组框可见当我设置它的Visible属性设置为true的增长。

可以询问与PerformLayout()方法的显式布局重新计算。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top