2010-08-17 85 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控件嗎?

然後,也許它不會爲空,當你引用它。