即使我以这种方式手动编程,也无法设置子表单的起始位置:
f = new Home_Button_Forms.Home_Mandated_Organization();
f.TopLevel = false;
f.Parent = panel1;
f.WindowState = System.Windows.Forms.FormWindowState.Normal;
f.StartPosition = FormStartPosition.CenterScreen;
f.Show();
它仍然出现在panel1的左上角(父窗体).
最佳答案 如果要将不是顶级的表单移动到其容器面板的中心,可以手动设置表单的位置:
var f = new Form2();
f.TopLevel = false;
f.Parent = this.panel1;
f.StartPosition = FormStartPosition.Manual;
f.Location = new Point((this.panel1.Width - f.Width) / 2,
(this.panel1.Height - f.Height) / 2);
f.Show();