如何在移除面板后将面板正确地放入表单中
本文关键字:正确地 表单 | 更新日期: 2023-09-27 17:49:14
我希望这是一个简单的任务,尽管如此,我需要一些帮助。
SomeForm f = new SomeForm();
if (someStatement) // relocate pnlRight onto new form f
{
this.Controls.Remove(pnlRight);
f.Controls.Add(pnlRight);
pnlRight.Location = new Point(0, 0); // I want to place pnlRight at (0, 0) on the new form f
this.pnlRight.Visible = false;
f.Show();
}
else // hide form and relocate pnlRight onto main form
{
this.pnlRight.Location = new Point(pnlLeft.Location.X + pnlLeft.Width + 10, pnlLeft.Location.Y);
this.Controls.Add(pnlRight);
this.pnlRight.Visible = true;
frmSettings.Hide();
}
所以-我有一个主窗体与两个面板:pnlLeft和pnlRight。在按钮上点击(这里如果someStatement为真)pnlRight应该在新创建的表单上重新定位。完美的工作。但是:如果我重新定位pnlRight再次到主形式,它不是放在我想要的地方,而是在(0,0)之上的pnlLeft。怎么了?我检查了两个面板的属性,没有看到任何赔率。也许有人能给我点提示,
最好丹尼斯
如果你的表单中有2个面板,那么你需要按照你想要显示它们的顺序设置这两个面板的dock属性
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.location.aspx
特别是,"获取或设置控件左上角相对于其容器左上角的坐标。"
您尝试在之后重新添加到表单中设置其位置 ?