很难弄清楚这个..

我目前有一个 frmMain 和一个 frmLoading..

在 frmMain 显示事件中,我正在做

frmLoading 负载 = 新 frmLoading();
加载.ShowDialog();

在 frmLoading.. 我想访问 frmMain..
我知道我可以在构造函数中传递以前的表单
但如果可能的话,我想避免这种情况。

以为是this.Owner,或this.Parent..不,搜索了“this”,“Form”中的所有属性..找不到它..

任何想法?

最佳答案

避免让 Winforms 猜测谁应该是所有者,使其明确:

frmLoading load = new frmLoading();
load.ShowDialog(this);

现在,只要 Load 事件运行,您就可以可靠地使用 Owner 属性找到所有者。如果您在构造函数中需要它,那么您将不得不将它作为构造函数参数传递,这当然不是问题,也是首选解决方案,因为它不依赖于您使用的 Show 重载。考虑使用事件来避免耦合。

关于c# - 执行showdialog后如何访问以前的表单?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7013059/

10-13 04:32