我希望這是一件容易的事,但我需要一些幫助。如何在移除後將面板正確放入表單中?
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)處。怎麼了?我檢查了兩個面板的屬性,並且看不到任何可能性。也許有人有一個提示對我來說,
最佳 丹尼斯
如果someStatement = false,則您在此處顯示的代碼將爲控件集合添加一個額外的pnlRight引用。這是實際的代碼還是隻是一個修改例子? – K3N