VB6引用UserControl

时间:2009-07-21 14:23:01

标签: vb6 oop

我在类的顶部有一个类型为UserControl private的变量。

根据某些条件,显示我的两个UserControl之一。问题是我想将UserControl类型的全局私有变量设置为可见的UserControl以对其进行引用以供以后使用。我总是遇到错误类型不匹配。

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

我已尝试使用myUserControl.object,但它也不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

尝试将您的变量声明为Control类型,而不是UserControl

答案 1 :(得分:0)

仅为您的信息UserControl非常混乱。 UserControl是VB代码(来自控件内部)用于与放置它的站点进行交互的接口。

通过UserControl关键字访问UserControl接口。此接口不会被最终实现继承,因此控件的实际公开接口完全由您选择公开的任何内容组成。

当控件实例添加到Form时VB创建的实际对象是用于站点控件的对象的COM聚合(例如,带有Left和Top属性的对象)和公共部分用户控制。不幸的是,实际聚合的界面不是UserControl,尽管它共享了许多共同的成员。

因此,您无法将“UserControl”的实例分配给类型为UserControl的变量。我觉得有人把球丢在了那个球上。