This is because you are not telling f2
who its Parent
is.
If this is an MDI application, then f2
should have its MdiParent
set to f1
.
Form f2 = new Form() { Width = 400, Height = 300 };
f2.StartPosition = FormStartPosition.CenterParent;
f2.MdiParent = f1;
f2.Show();
If this is not an MDI application, then you need to call the ShowDialog
method using f1
as the parameter.
Form f2 = new Form() { Width = 400, Height = 300 };
f2.StartPosition = FormStartPosition.CenterParent;
f2.ShowDialog(f1);
Note that CenterParent
does not work correctly with Show
since there is no way to set the Parent
, so if ShowDialog
is not appropriate, the manual approach is the only viable one.