技术:C#,Winforms
背景: 我有以下容器结构(包含面板的表单,其中包含2个面板)
Form F1
|-> Panel P1 (DockStyle.Fill)
|-> Panel P2 (DockStyle.Top)
|-> Panel P3 (DockStyle.Fill)
我注册了P3.SizeChange事件,并且在我更改P2.Size
的情况下问题: 我希望所有尺寸的变化都能在GUI上正确反映
观察到的结果: 每次P2.Size根据先前设置的尺寸
进行更改我尝试了什么:
似乎在Forms库中我无法从兄弟控件的布局相关事件(SizeChanged)更改布局相关属性(Size,Dock等)
有没有其他人遇到此问题并有解决方法? 我正在使用Visual Studio Express 2010中的.NET 4.0(我认为)
将非常感谢输入
答案 0 :(得分:0)
尝试在BeginInvoke()
中更改下一个消息循环迭代中的大小(布局传递结束后会发生这种情况)。
答案 1 :(得分:0)
我不知道你想要达到的目的;但是,如果您尝试在P2和P3之间分配可用空间,则SplitContainer
可以帮助解决问题。