I think you have not set the MdiParent property of your newly created Forms.
For the new child Form to be centered in its MdiParent Form, you need to
show it after the Main Form has been shown, and, use CenterScreen, not CenterParent:
using System;
using System.Windows.Forms;
namespace MdiTest2020
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Form2 f2 = new Form2();
private void ShowNewMdiChildFormToolStripMenuItem_Click(object sender, EventArgs e)
{
f2.MdiParent = this;
f2.StartPosition = FormStartPosition.CenterScreen;
f2.Show();
}
}
}
These weird work-arounds are necessary because the MDI WinForm architecture is an outdated mess, and MS suggests you don't use it.