0
什麼是從另一個子表單設置某些表單變量值的「智能和直接」方式。 說我有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;
}
...
感謝您的回覆! 我只是想知道是否有任何方法可以通過例如從settingsForm返回值來避免重寫cpp和h文件。 – user746277 2012-01-16 14:37:29
您可以將您的字段的引用傳遞給settingsForm,這樣,表單之間不存在依賴關係,但我認爲您必須使用事件來更改此值,這樣會更好。 – 2012-01-17 08:08:45