You need to split it up, into seperate headerfiles where only the required predefinition is mentioned, the actual pressence dependant parts will know how to use it, once you've included both deffinitions.
Code:
// form1.h
#ifndef __FORM1__H__
#define __FORM1__H__
Form1_button1_Click(...);
#endif
Code:
// form2.h
#ifndef __FORM2__H__
#define __FORM2__H__
Form2_button1_Click(...);
#endif
Code:
// form1.cpp
#include "form1.h"
#include "form2.h"
Form1_button1_Click(...)
{
(new Form2())->Show();
}
Code:
// form2.cpp
#include "form2.h"
#include "form1.h"
Form2_button1_Click(...)
{
(new Form1())->Show();
}