2009-07-21 44 views
1

我在類的頂部有一個類型爲UserControl的變量。VB6 UserControl的參考

根據某些條件,顯示我的兩個UserControl中的一個。問題是,我想將UserControl類型的全局私有變量設置爲可見的UserControl,以供將來使用。我總是得到錯誤類型不匹配。

Private mo_SelectedControl As UserControl 
'... 
'...Some where in a Sub: 
set SelectedControl = myUserControl 

我試圖用myUserControl.object,它也不工作。任何想法?

回答

3

嘗試聲明變量類型爲Control而不是UserControl

+0

在這種情況下你也可以使用對象。 ;) – AnthonyWJones 2009-07-21 14:34:09

0

只是爲了您的信息UserControl很混亂。 UserControl是VB代碼(來自控件內部)用來與放置它的站點進行交互的接口。

通過UserControl關鍵字訪問UserControl接口。這個接口不會被最終實現繼承,因此控件的實際公開接口完全由您選擇公開的任何內容組成。

將控件的實例添加到窗體時由VB創建的實際對象是用於站點控件的對象(例如,攜帶左和頂部屬性的對象)和公共部分的用戶控件。不幸的是,實際上彙總的界面並不是UserControl,儘管它共享了許多共同的成員。

因此,您不能將「UserControl」的實例分配給UserControl類型的變量。我認爲某個地方有人把球放在那個球上。