2015-04-02 18 views
0

每當用戶選擇表格中的單元格時,我想要一個窗體窗體出現,並且之前連接到之前活動單元格的窗體將消失。我怎樣才能做到這一點?如何在一個函數被調用時銷燬對象的前一個實例並創建一個新實例?

我想類似下面會工作的解決方案,但我不知道這是否是很好的做法,我也不知道如何執行,我已經註釋掉

Sub CreateNewFormForActiveCellAndDeleteThePreviousOne() 
    'Remove all previous instances of class Frm 
    Dim Frm as New Frm 
End Sub 
+0

難道你不能只將參考存儲在私人領域?在該方法內部,檢查該字段是否不爲空。如果屬實,則銷燬該窗口。然後創建一個新窗口,存儲引用並返回實例。 – 2015-04-02 10:00:34

+0

根據我的理解,按照上面所示的方式進行操作應該很好。每次調用sub時,都會創建一個新的'Frm'實例。當子退出時,對象失去它的引用(假設沒有變量被設置爲將其保存在變量作用域在子外部的子內部),這導致它被標記爲清理。 – RianBattle 2015-04-02 11:35:12

回答

2
命令

而不是創建一個新的表單實例,我會建議更新表單上的數據。因此,您將節省創建新表單實例所需的資源。例如,您可以在Form的類中定義一個公共字段,並根據Excel中選定的單元格對其進行更新。

相關問題