Show предыдущей WinForm

Допустим открыл из WinForm1 через button -WinForm2 используя в Winform1.h код: #include "WinForm2.h" и в Button1_Click
WinForm2^ formobj1 = gcnew formobj1;
            formobj1->Show();
            this->Hide();
###### Как теперь выполнить код в WinForm2.h #include "WinForm1.h" //<---Из за подключения этой библиотеки вылезают ошибки которые возникают из за переопределения //(если не ошибаюсь). и в Button1_Click
WinForm1^ formobj2 = gcnew formobj2;
            formobj2->Show();
            this->Hide();
3 ответа

mastercard, вынеси реализацию методов которые обращаются к другим формам в cpp файл и уже в нем делай нужный include.


OwenGlendower, не совсем понимаю как вынести (к примеру) метод button1_Click в cpp файл. Можете ли по подробнее?


mastercard, в h файле оставляем только объявление
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e);
В cpp файле пишем
#include "stdafx.h"
#include "WinForm1.h"
#include "WinForm2.h"
 
namespace ******************** {
    System::Void WinForm1::button1_Click(System::Object^  sender, System::EventArgs^  e) {
        WinForm2^ form = gcnew WinForm2();
        form->Show();
        this->Hide();
    }
}
Аналогично поступаем со вторым файлом.