1

私のアプリケーションは、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 のすべてのパラメーターを初期化し、アプリケーションの要件がそうではないためです。

誰でもこの問題の解決策を教えてください。どんな助けでも大歓迎です。

4

0 に答える 0