Да, вы делаете это неправильно.Фактический размер формы будет таким же, как и размер дизайна, если на компьютере, на котором вы ее запускаете, есть точные те же пользовательские настройки, размер системного шрифта и настройка DPI для видео.Если он много, то настройка DPI отличается.Если он немного выключен, то пользовательские настройки отличаются.Как больший шрифт заголовка или большие кнопки.Исправление:
Form2 f2 = new Form2();
f2.Show();
f2.Left = this.Left;
f2.Top = this.Top;
f2.Size = this.Size;
Если это слишком заметно, вы должны позволить событию Load Form2 сделать это.Передайте ссылку на основную форму или используйте свойство Владелец и Показать (владелец).Другими словами:
Form2 f2 = new Form2();
f2.Show(this);
в форме 2:
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
this.Location = Owner.Location;
this.Size = Owner.Size;
}