当前位置: 代码迷 >> VC >> 请问:VS2010,VC++.NET中两个Form相互调用有关问题
  详细解决方案

请问:VS2010,VC++.NET中两个Form相互调用有关问题

热度:8839   发布时间:2013-02-25 00:00:00.0
请教:VS2010,VC++.NET中两个Form相互调用问题
用VS2010,VC++.NET编写Winform程序。工程名为Application
做了两个Form,分别为Form1,Form2
Form1中有个按钮可以进入Form2,Form2中有个按钮可以返回到Form1
应该如何写。

我是想这么做的
1. Application.cpp中(就是整个程序main函数所在的那个文件),将其中的 Application::Run(gcnew Form1());
Form1^ forMainInterface = gcnew Form1();
Application::Run(MainInterface);
  想的是可以对生成的窗口进行Show、Hide等操作。
2. Form1中用于进入Form2界面的按钮的代码为
  Form2^ ParameterSetting = gcnew Form2(); 
  ParameterSetting->Show();
  Hide();  
3. Form2中用于返回Form1界面的按钮的代码为
  forMainInterface->Show();
  Close();  
  步骤1中,为了生成Form1的对象,Application.cpp中就要 include "Form1.h"
  步骤2中,为了生成Form2的对象,Form1.h中就要 include "Form2.h"
  步骤3中,为了使用对象forMainInterface,Form2.h中就要 include "Application.cpp"
  这样就循环include了,好像编译不能通过。

------解决方案--------------------------------------------------------
一般是在.h文件中声明,如 ref class A,然后在对应的cpp中#include "A.h",在cpp方法实现gcnew A。


  相关解决方案