Общение между формами - PullRequest
0 голосов
/ 22 марта 2011

У меня есть основная форма, из которой я генерирую несколько подчиненных форм.Я храню эти формы в переменной List<Subform^> ^, чтобы отправлять им сообщения из основной формы.Я загружаю новые формы, подобные этой (из памяти, может не скомпилироваться):

Subform ^sf = gcnew Subform(some, variables, here);
subforms->Add(sf);
subforms[subforms.Count-1]->Show();

Моя цель - удалить подчиненную форму из списка после ее закрытия.Я думал о переходе на словарь для более простой идентификации формы, например:

++i;    // Some sort of a form counter. to access them when closing.
Subform ^sf = gcnew Subform(some, variables, here);
subforms->Add(i, sf);
subforms[i]->Show();

Как бы я удалил i-ую форму при закрытии?Возможно, что-то вроде этого (в псевдокоде)

sf->FormClosed = subforms->RemoveAt[i]; // Before I add it to the dictionary.

?

1 Ответ

1 голос
/ 22 марта 2011

Попробуйте что-то вроде:

sf->FormClosed += gcnew FormClosedEventHandler(this, &RemoveSubform);

void RemoveSubform(System::Object^ sender, FormClosedEventArgs^ e)
{
    subforms->Remove(sender);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...