我对c ++很新,到目前为止我在理解基础知识时遇到了一些麻烦。我现在有两张表格。
parent.h
#include "child.h"
public ref class parent : public System::Windows::Forms::Form {
child^ v_child = gcnew child;
void InitializeComponent(void){
v_child->Load += gcnew System::EventHandler(v_child, &child::child_Load);
}
private: System::Void child_Load(System::Object^ sender, System::EventArgs^ e) {
MessageBox::Show("Howdy");
}
}
我基本上希望父母在孩子有事件时做某事,在这种情况下,只是一个负载。它编译并且没有给出警告/错误,子进程执行事件,但它永远不会触发父进程。 我想这样做是为了能够在父母和孩子之间进行互动,到目前为止,我在这方面遇到了很多麻烦。
答案 0 :(得分:0)
要明确的是,您是否希望parent
对"加载"做出反应?对孩子的事件?
如果是这样,那么您就错误地链接了该事件。你的代码:
v_child->Load += gcnew System::EventHandler(v_child, &child::child_Load);
将Load事件处理程序链接到v_child
而不是parent
。试试这个:
v_child->Load += gcnew System::EventHandler(this, &parent::child_Load);