我希望这是一个简单的任务,但我需要一些帮助。
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 重新定位到主窗体上,它不会放在我想要的位置,而是放在 pnlLeft 上方的 (0, 0) 处。怎么了?我检查了两个面板的属性,看不到任何赔率。也许有人对我有暗示,
最佳丹尼斯