首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单之间的通信

表单之间的通信
EN

Stack Overflow用户
提问于 2011-03-22 16:03:11
回答 1查看 135关注 0票数 0

我有一个主窗体,可以从中生成多个子窗体。我将这些表单存储在一个List<Subform^> ^变量中,以便可以从主表单向它们发送消息。我像这样加载新表单(从内存中,可能无法编译):

代码语言:javascript
复制
Subform ^sf = gcnew Subform(some, variables, here);
subforms->Add(sf);
subforms[subforms.Count-1]->Show();

我的目标是在关闭后将该子窗体从列表中删除。我一直在考虑使用字典来识别更简单的表单,如下所示:

代码语言:javascript
复制
++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个表单?也许像这样(用伪代码)

代码语言:javascript
复制
sf->FormClosed = subforms->RemoveAt[i]; // Before I add it to the dictionary.
EN

回答 1

Stack Overflow用户

发布于 2011-03-22 22:26:37

尝试如下所示:

代码语言:javascript
复制
sf->FormClosed += gcnew FormClosedEventHandler(this, &RemoveSubform);

void RemoveSubform(System::Object^ sender, FormClosedEventArgs^ e)
{
    subforms->Remove(sender);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5388326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档