Чтобы отобразить вторую форму (Детали), вы должны использовать Показать вместо ShowDialog . ShowDialog блокирует выполнение, и метод Close не будет вызываться, пока форма Part не будет закрыта.
Parts ^parts = gcnew Parts();
parts->Show(); // Show the form and continue execution
this->Close();
Но учтите одну вещь: если форма вызова является основным окном приложения, когда вызывается метод Закрыть , все приложение будет закрыто, а вместе с ним будут закрыты и части формы. , Чтобы обойти это поведение, я бы запустил приложение с невидимой формой. Когда эта форма будет загружена, будет запущена ваша форма "вызывающего".