私のアプリケーションは、Windows フォーム アプリケーション (vc++) に 2 つのフォームを持っています。私の最初のフォームは Form1.h で、2 番目は form2.h です。私がやろうとしているのは、ボタン1(Form1.hにあります)のクリックでform2を呼び出すことです。Form1 から form2 を呼び出すために、このコードを使用しました
#include “Form1.h”
......
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
form2^ fm=gcnew form2;
fm->Visible=true;
this->Visible=false;
}
これはうまくいっています。しかし、ボタンをクリックして Form1 を呼び出すことができません (これは form2 にあります)。Form2.h ファイルに Form1.h を含めるとすぐに、次のエラーが発生します。
>d:\vs\testformapp\testformapp\Form1.h(81): error C2065: 'form2' : undeclared identifier
1>d:\vs\testformapp\testformapp\Form1.h(81): error C2065: 'fm' : undeclared identifier
1>d:\vs\testformapp\testformapp\Form1.h(81): error C2061: syntax error : identifier 'form2'
1>d:\vs\testformapp\testformapp\Form1.h(82): error C2065: 'fm' : undeclared identifier
1>d:\vs\testformapp\testformapp\Form1.h(82): error C2227: left of '->Visible' must point to class/struct/union/generic type
そして、 Form1->Visible=true; が欲しいだけです。form2のボタンクリックで。form2 のボタン クリックで Form1 を初期化したくありません。これは、form1 のすべてのパラメーターを初期化し、アプリケーションの要件がそうではないためです。
誰でもこの問題の解決策を教えてください。どんな助けでも大歓迎です。