C# Winform 程序在操作时,突然被系统其它程序前置

C# Winform 程序正在操作时,突然被系统其它程序前置。
我们的程序基于WinForm框架,主WinForm开启一个子WinForm输入工程名,单击确定或按回车时,偶尔发生系统其它程序前置。请问是怎么回事? 怎么解决?
      private void CreateProject()
        {
            string strProjectName;
            NewProject newproj = new NewProject();
            newproj.ShowDialog();
            if ( newproj.DialogResult == System.Windows.Forms.DialogResult.OK
                && ( newproj._strNewProjectName != null ) )
            {
                strProjectName = newproj._strNewProjectName;//获取弹出窗体的属性值
            }
            else
            {
                return;
            }

------解决思路----------------------
newproj.ShowDialog(父窗口);
------解决思路----------------------
2#的方法应该是对的
NewProject newproj = new NewProject();
newproj.StartPostion = FormStartPosition.CenterParent;
newproj.ShowDialog(父窗口);