用户控件(针对 Visual Basic 6.0 用户)

更新:2007 年 11 月

虽然 Visual Basic 6.0 和 Visual Basic 2008 都允许您创建控件,但是您应清楚其中的若干差异。

概念差异

在 Visual Basic 6.0 中,UserControl 项目(也称为 ActiveX 控件项目)用于创建 ActiveX 控件。在编译 UserControl 对象之后,可以在支持 ActiveX 的任何容器中承载它们,这些容器包括 Visual Basic 6.0 窗体和 Internet Explorer。

在 Visual Basic 2008 中,Windows 控件库项目用于创建可以在 Windows 窗体应用程序中承载的控件。

设计时行为

在 Visual Basic 6.0 中,必须首先关闭“UserControl 设计器”,然后才能在设计时向窗体添加 UserControl 对象;这一步骤会自动编译(生成)该控件。当对 UserControl 对象进行后续更改时,只有在该应用程序运行后,它们才会反映在窗体上的 UserControl 实例中;如果“UserControl 设计器”是打开的,将会自动关闭。

在 Visual Basic 2008 中,可以在不关闭“UserControl 设计器”的情况下将 UserControl 对象添加到窗体中;但是必须在将用户控件添加到窗体之前先生成它。只关闭“UserControl 设计器”不会生成控件。对用户控件做出的任何后续更改都要在重新生成 UserControl 对象之后才会反映在窗体设计器上;在您每次调试测试应用程序时,将会自动重新生成 UserControl 对象。

保持值

在 Visual Basic 6.0 中,ReadProperties 和 WriteProperties 事件用于检索或保存 UserControl 对象的值到 PropertyBag 对象。

在 Visual Basic 2008 中,不再支持 PropertyBag 对象,而且 ReadProperties 和 WriteProperties 事件不再存在。相反,序列化用于以二进制或 SOAP 格式保存和检索属性。有关更多信息,请参见 演练:在 Visual Basic 中保持对象

升级说明

将 Visual Basic 6.0 UserControl 项目升级到 Visual Basic 2008 时,它会升级为 Windows 控件库;升级后的控件不能再承载在 Internet Explorer 中。

请参见

任务

演练:在 Visual Basic 中保持对象

概念

适用于 Visual Basic 6.0 用户的 PropertyBag 等效项

其他资源

设计时开发 Windows 窗体控件