2011-06-26 55 views
0

我有在C#中使用的Internet Explorer中實施的ActiveX(COM)控件。我的控件使用非託管資源,我需要知道何時使用控件的選項卡(窗口)將被關閉以釋放資源。
我的控件如何知道使用ActiveX(COM)控件的IE選項卡(窗口)已關閉(窗口關閉時沒有JavaScript調用控件方法)?如何知道ActiveX(COM)控件的IE選項卡(窗口)是否關閉?

+0

可能的重複activeX(COM)控件在由其父項關閉時清理的正確方法是什麼? http://stackoverflow.com/questions/3390571/what-is-the-proper-way-for-an-activex-com-control-to-clean-up-when-closed-by-it –

回答

0

如果您正在編寫UserControl覆蓋OnHandleDestroyed並將您的資源釋放代碼放在那裏。 不要忘記在該方法中的代碼之後調用base.OnHandleDestroyed

+0

謝謝,它是這麼簡單的方法! –

0

一個ActiveX控件基於COM,它使用refcounting。當您的控件的refcount歸零時,您的資源應該處理其資源。從C#activex控件中檢測這並不是微不足道的,但根據this question的回答,這是可行的。