主文件
#include "stdafx.h"
#include <iostream>
#include "Form1.h"
#include "myclass.h"
using namespace Akva;
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Form1^ MainForm = gcnew Form1();
Application::Run(MainForm);
return 0;
};
表格1.h
#include "myclass.h"
public ref class Form1 : public System::Windows::Forms::Form
{
...
};
我的班级.h
#include "Form1.h"
class MyClass
{
public: void addBox();
};
void MyClass::addBox()
{
PaintBox^ pb = cgnew PaintBox();
MainForm->Controls->Add(pb); //here
};
我无法从类“MyClass”访问 main.cpp 中的实例“MainForm”。我怎样才能得到它?
UPD:myclass.h 中的代码包括在我创建实例 MainForm 之前,而 Form1 的实例在 myclass.h 中不可见。
#include "stdafx.h"
#include <iostream>
#include "Form1.h"
#include "myclass.h"
using namespace Akva;
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew Form1()); //here
return 0;
};
另一个问题:如何访问 Form1 的元素和实例?
我想从“MyClass”创建 PictureBox。