【发布时间】:2010-12-19 12:16:22
【问题描述】:
我在 Windows 窗体中有以下结构:
Form (AutoResize = true, AutoSizeMode = GrowAndShrink)
FlowLayout (AutoResize = true, AutoSizeMode = GrowAndShrink)
GroupBox
GroupBox
GroupBox
StatusStrip
我的期望是更改 GroupBoxes 的可见性应该导致窗口捕捉到新的大小以回收空白空间或容纳新的控件。但是,这不会自动发生。如果我最小化到托盘然后恢复表单(即切换 Visible、ShowInTaskbar、WindowState = Normal/Minimized),那么当它重新出现时,它将正确更新。触发它的另一件事是更新页面底部的 StatusStrip 中的内容(显示标签、更改进度条等)。我已经尝试过各种受巫术启发的 Invalidate/Update/OnResize 等组合,但我觉得我遗漏了一些更基本的东西,希望有人能看到我所描述的明显缺陷。
我对表单上小部件的所有更新都在 InvokeRequired/Invoke 中,如果相关的话。
【问题讨论】:
标签: .net winforms autoresize