我想问一下,
我有一个名为MainWindow的窗口和一个名为ImportForm的窗口。在我调用的MainWindow中
private void generate_Window(int num_chart)
{
Window ownedWindow = new ImportForm(num_chart);
ownedWindow.Owner = this;
ownedWindow.Show();
}在子窗口中,我做了一些东西,并产生了一些变量。比如var1,var2,var3。
我希望当子窗口关闭时,将var1、var2、var3返回给MainWindow,并调用一个函数,比如import_chart(var1, var2, var3)。
任何帮助都将得到批准。谢谢
发布于 2011-12-21 21:00:41
这似乎是一个尴尬的设计选择。不管怎么说,下面是你如何做到的:
MainWindow.cs:
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:
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(...)也可以使用它们)。
如果有什么不清楚的地方,请告诉我。
https://stackoverflow.com/questions/8590055
复制相似问题