0
다른 양식의 일부 양식 변수 값을 설정하는 '스마트하고 직접적인'방법은 무엇입니까? 예를 들어 myVar (네트워크 포트 번호)가 들어있는 mainForm과 클릭하면 myVar .... 설정을 목표로하는 다른 폼 settingsForm이 표시되는 settingsButton ...settingsForm이 DialogResult 이외의 것을 반환 할 수 없기 때문에 어떻게 할 수 있습니까? 나는 다음과 같이 해당 데이터 멤버에 액세스하기 위해 생성자에서 settingsForm에 mainForm 순간을 전달하여이를 구현하는 데 사용 :다른 양식의 변수 설정
//////mainForm.h:
#include "settingsForm.h"
...
ref class mainForm: puplic Form
{
puplic:
int myVar;
private: void settingsButton_Click(Object^ sender, EventArgs^ e)
{
(gcnew settingsForm(this))->ShowDialog();
}
...
};
....
////////settingsForm.h
...
ref class mainForm; //forward declaration to avoid circular dependency
ref class settingsForm:public Form
{
mainForm^ mf;
settingsForm(mainForm form)
{
....
mf=form;
}
void okButton_click(Object^ sender, EventArgs^ e); //definition in the cpp file
...
};
///////settingsForm.cpp
...
void settingsForm::okButton_click(Object^ sender, EventArgs^ e)
{
mf->myVar= someValue;
}
...
답장을 보내 주셔서 감사합니다. 예를 들어 settingsForm에서 값을 반환하여 cpp 및 h 파일을 다시 작성하지 않도록하는 방법이 있는지 궁금합니다. – user746277
필드의 참조를 settingsForm에 전달할 수 있습니다. 이렇게하면 양식간에 종속성은 없지만이 값을 변경하려면 이벤트를 사용해야한다고 생각합니다. –