首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从子窗口传递到父窗口

从子窗口传递到父窗口
EN

Stack Overflow用户
提问于 2011-12-21 20:47:46
回答 4查看 6.7K关注 0票数 5

我想问一下,

我有一个名为MainWindow的窗口和一个名为ImportForm的窗口。在我调用的MainWindow

代码语言:javascript
运行
复制
private void generate_Window(int num_chart) 
{ 
    Window ownedWindow = new ImportForm(num_chart); 
    ownedWindow.Owner = this;      
    ownedWindow.Show(); 
}

在子窗口中,我做了一些东西,并产生了一些变量。比如var1,var2,var3。

我希望当子窗口关闭时,将var1var2var3返回给MainWindow,并调用一个函数,比如import_chart(var1, var2, var3)

任何帮助都将得到批准。谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2011-12-21 21:00:41

这似乎是一个尴尬的设计选择。不管怎么说,下面是你如何做到的:

MainWindow.cs:

代码语言:javascript
运行
复制
private void generate_Window(int num_chart)
{
    Window ownedWindow = new ImportForm(num_chart, import_chart); 
    ownedWindow.Owner = this; 
    ownedWindow.Show();
}

private void import_chart(int n, string s, bool b)
{
    //Do something
}

ImportForm.cs:

代码语言:javascript
运行
复制
private Action<int, string, bool> callback;
public ImportForm(int num_chart, Action<int, string, bool> action)
{
    InitializeComponent();
    Closed += ImportForm_Closed;
    callback = action;
}

private void ImportForm_Closed(object sender, EventArgs e)
{
    callback(0, "Test", false);
}

只需将操作更改为所需的参数类型(并调整ImportForm_Closed(...)也可以使用它们)。

如果有什么不清楚的地方,请告诉我。

票数 6
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8590055

复制
相关文章

相似问题

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