2010-08-17 83 views
0

我需要完成以下工作。用于在不再需要winform时执行最终工作的解决方案

1)我有一个winform(winformA),其被隐藏,而不是关闭

2.)在#1的WinForm的是一个子对MainForm的,当我关闭的MainForm,孩子形式WinformA是处置。我需要保存winform中的winform控件的数据A

该内容位于WinformA的ListView中。我已经尝试覆盖dispose并使用析构函数〜classname,但是listview项目在那一点上是空的。我无法在表单关闭时执行此操作,因为我不希望在整个应用程序正在关闭之前发生操作。由于安全性要求,我无法将此方法展示给mainform。我已经尝试订阅Application.ApplicationExit,但事件不会触发。

有什么想法?

+0

出于好奇你能否解释安全要求 – 2010-08-17 15:30:25

+0

WinformA中的代码无法公开。所有的关闭功能都必须是内部的,而不能从另一个程序集中调用。 – schmoopy 2010-08-17 15:33:21

回答

1

我不能做到这一点的形式关闭

你必须从你的FormClosing事件处理程序,做到这一点。注意e.CloseReason值。

Fwiw,'安全需求'是程序员的武库中的System.Reflection的梦想。你必须设置一个沙箱来防止这种情况。

0

您可以将项目保存到变量而不是UI控件吗?

然后,也许它不会为空,当你引用它。