即使我以这种方式手动编程,也无法设置子窗体的起始位置:

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(父窗体)的左上角。

最佳答案

当你想将一个非顶层的表单移动到它的容器面板的中心时,你可以手动设置表单的 Location:

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();

关于c# - 非顶级表单的 StartPosition,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36760782/

10-13 04:59