установка переменных из другой формы - PullRequest
0 голосов
/ 16 января 2012

Что такое «умный и прямой» способ установки значений переменной Form из другой подформы. Скажем, у меня есть mainForm, которая содержит myVar (например, номер сетевого порта) и settingsButton, которая при нажатии показывает другую форму settingsForm, которая предназначена для установки myVar .... так как settingsForm не может вернуть ничего, кроме DialogResult, как я могу этого достичь. Я использовал его для реализации, передавая мгновенный mainForm в settingsForm в своем конструкторе для доступа к своим членам данных следующим образом:

//////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;
}
...

1 Ответ

0 голосов
/ 16 января 2012

Вы можете использовать событие или общую область для обмена данными между ними.Но я думаю, что ваш собственный путь прост и лучше.Почему вы ищете другой путь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...