将控件添加到标签页后,控件的位置发生了变化

时间:2013-04-29 12:21:19

标签: c# winforms tabpage

我有winform应用程序,它使用tabPage,我动态地在页面中添加了一些控件。但是,之后控件的位置发生了变化。经过一些调整后,似乎控件的位置是正确的,但某些控件的大小再次不正确。请帮忙!!!感谢

这样的代码段:

foreach (Control c in controls)
{
    Point oldLocation = c.Location;
    this.SuspendLayout();                                          
    this.Controls.Add(c);                        
    c.Location = oldLocation;                       
    c.BringToFront();
    this.ResumeLayout(false);
    this.PerformLayout();
}

1 个答案:

答案 0 :(得分:0)

我可能没详细描述过这个。我需要的是有一个浮动标签页;所以我最终保留了另一个表单,并在浮动和停靠模式之间切换时打开/隐藏表单和标签页。

为实现这一目标,我需要从表单和页面中复制/删除所有控件。事实证明,控制位置/大小将在删除/复制之间改变。

我最终得到的解决方法是在删除和复制之前存储原始位置/大小,然后重置控件的位置和大小。 这听起来很蹩脚,但我现在找不到更好的解决方案了。