Controles de usuario para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

Tanto Visual Basic 6.0 como Visual Basic 2008 permiten crear controles; sin embargo, hay varias diferencias que se deben tener en cuenta.

Diferencias conceptuales

En Visual Basic 6.0, los proyectos UserControl (también conocidos como proyectos de controles ActiveX) se usan para crear controles ActiveX. Después de compilarlos, los controles UserControls se pueden alojar en cualquier contenedor que sea compatible con ActiveX, incluidos los formularios de Visual Basic 6.0 e Internet Explorer.

En Visual Basic 2008, se utilizan los proyectos de la Biblioteca de controles de Windows para crear controles que se puedan hospedar en aplicaciones de formularios Windows Forms.

Comportamiento en tiempo de diseño

En Visual Basic 6.0, antes de agregar un control UserControl a un formulario en tiempo de diseño, es necesario cerrar el Diseñador de controles de usuario, lo que compila (genera) automáticamente el control. Los cambios posteriores que se realicen en el objeto UserControl , no se reflejarán en la instancia de UserControl en el formulario hasta que no se ejecute la aplicación; si estuviera abierto el Diseñador de controles de usuario, se cerrará automáticamente.

En Visual Basic 2008, se puede agregar un objeto UserControl a un formulario sin cerrar el Diseñador de controles de usuario; sin embargo, el control de usuario debe generarse antes de poder agregarlo a un formulario. Con sólo cerrar el Diseñador de controles de usuario no se genera automáticamente el control. Los cambios realizados posteriormente en el control de usuario no se reflejarán en el diseñador de formularios hasta que no se vuelva a generar el objeto UserControl; los objetos UserControl se regeneran automáticamente cada vez que se depura la aplicación de prueba.

Conservar los valores

En Visual Basic 6.0, los eventos ReadProperties y WriteProperties se usan para recuperar o guardar los valores de un objeto UserControl en un objeto PropertyBag.

En Visual Basic 2008, el objeto PropertyBag ya no se admite, y los eventos ReadProperties y WriteProperties ya no existen. En su lugar, se usa la serialización para guardar y recuperar propiedades en un formato binario o SOAP. Para obtener más información, vea Tutorial: Guardar un objeto en Visual Basic

Notas de actualización

Cuando se actualiza un proyecto UserControl de Visual Basic 6.0 a Visual Basic 2008, se actualiza a una Biblioteca de controles de Windows y, por tanto, el control resultante ya no puede hospedarse en Internet Explorer.

Vea también

Tareas

Tutorial: Guardar un objeto en Visual Basic

Conceptos

Equivalentes de PropertyBag para usuarios de Visual Basic 6.0

Otros recursos

Desarrollar controles de formularios Windows Forms en tiempo de diseño