Objeto Form para usuarios de Visual Basic 6.0
Actualización: noviembre 2007
El objeto Form de Visual Basic 6.0 se ha reemplazado por la clase Form en Visual Basic 2008. Los nombres de algunas propiedades, métodos, eventos y constantes son diferentes y, en algunos casos, existen diferencias de comportamiento.
Diferencias conceptuales
Activate y Deactivate (Eventos)
En Visual Basic 6.0, sólo se desencadenan los eventos Activate y Deactivate al cambiar entre los formularios.
En Visual Basic 2008, también se provocan los eventos Activated y Deactivate al cambiar de una aplicación a otra.
QueryUnload (Evento)
En Visual Basic 6.0, el evento QueryUnload toma dos argumentos, Cancel y UnloadMode. Al consultar el argumento UnloadMode, puede determinar por qué se está descargando el formulario y cancelar la operación si fuera necesario.
En Visual Basic 2008, el evento QueryUnload se ha reemplazado por el evento FormClosing y UnloadMode se ha reemplazado por CloseReason.
Picture (Propiedad)
En Visual Basic 6.0, una imagen asignada a la propiedad Picture se muestra en la esquina superior izquierda del formulario si el mapa de bits es más pequeño que el formulario.
En Visual Basic 2008, la propiedad Picture se ha reemplazado por la propiedad BackgroundImage; si la imagen asignada a la propiedad BackgroundImage es menor que el formulario, aparecerá como un mosaico de manera predeterminada.
Moveable (Propiedad)
En Visual Basic 6.0, la propiedad Moveable de un formulario puede definirse como False para evitar que el usuario mueva el formulario en tiempo de ejecución. Los formularios Windows Forms no tienen una propiedad equivalente en Visual Basic 2008.
Aunque generalmente se considera un diseño de interfaz de usuario desaconsejable, puede obtener un comportamiento similar en Visual Basic 2008 estableciendo la propiedad FormBorderStyle en None y la propiedad ControlBox en False.
ValidateControls (Método)
En Visual Basic 6.0, el método ValidateControls se utiliza para forzar el evento Validate del control que tiene el foco cuando se cierra un formulario; si el evento Validate no se desencadena con éxito, se produce un error.
En Visual Basic 2008, el método ValidateControls se ha reemplazado por el método Validate, que devuelve True o False.
Eventos del mouse para formularios MDI
En Visual Basic 6.0 los formularios MDI admiten eventos del mouse (ratón). En Visual Basic 2008, ya no se admiten los eventos Click, MouseDown, MouseMove y MouseUp para formularios MDI, ya que el formulario MDI no tiene un área de cliente para recibir eventos del mouse.
Cambios de código para el objeto Form
En los siguientes ejemplos se muestran las diferencias entre las técnicas de codificación de Visual Basic 6.0 y Visual Basic 2008.
El código de modifica para determinar por qué se cierra un formulario
El código siguiente puede ayudarle a determinar por qué se cierra un formulario y cómo debe actuarse en función de la causa por la que se haya cerrado. En el ejemplo de Visual Basic 6.0, se utiliza el argumento UnloadMode del evento QueryUnload. En el ejemplo de Visual Basic 2008, el argumento se ha reemplazado por el parámetro CloseReason en el controlador de eventos FormClosing.
' Visual Basic 6.0
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
Cancel = True
End If
End Sub
' Visual Basic
Private Sub Form1_FormClosing(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
If e.CloseReason.UserClosing Then
e.Cancel = True
End If
End Sub
El código se modifica para validar un control en un formulario cerrado
El código siguiente muestra cómo se fuerza la validación del control que tiene el foco cuando el formulario se cierra. Este ejemplo presupone que la propiedad CausesValidation del control TextBox se establece en el valor predeterminado, True.
' Visual Basic 6.0
Private Sub Text1_Validate(Cancel As Boolean)
If Text1.Text = "" Then
MsgBox ("Please enter a name")
Cancel = True
End If
Private Sub Form_Unload(Cancel As Integer)
OnError GoTo ERR_HANDLER
Me.ValidateControls
ERR_HANDLER:
' If validation failed cancel the Unload event.
If Err.Number = 380 Then
Cancel = True
End If
End Sub
' Visual Basic
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If TextBox1.Text = "" Then
MsgBox("Please enter a name")
e.Cancel = True
End If
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e _
As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
' If validation failed cancel the Closing event.
If Me.Validate = False Then
e.Cancel = True
End If
End Sub
Equivalencias de propiedades, métodos y eventos del objeto Form
En las tablas siguientes se enumeran las propiedades, los métodos y los eventos de Visual Basic 6.0, junto con sus propiedades de Visual Basic 2008. No se enumeran aquellas propiedades, métodos y eventos que tienen el mismo nombre y el mismo comportamiento. Donde corresponde, las constantes aparecen con sangría debajo de la propiedad o método. Salvo que se indique lo contrario, todas las enumeraciones de Visual Basic 2008 se asignan al espacio de nombres System.Windows.Forms.
Cuando es necesario, se proporcionan vínculos a temas que explican las diferencias de comportamiento. Cuando no existe un equivalente directo en Visual Basic 2008, se proporcionan vínculos a temas en los que se incluyen alternativas.
Propiedades de Form
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
Appearance |
Nueva implementación. Para obtener más información, vea Propiedades Appearance y BorderStyle para usuarios de Visual Basic 6.0. |
AutoRedraw |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
BackColor |
Nota:
Los colores se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Comportamiento del color para los usuarios de Visual Basic 6.0.
|
BorderStyle |
|
Caption |
|
ClipControls |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Controls |
Nota:
Existen diferencias en la colección Controls de Visual Basic 2008. Para obtener más información, vea Colección Controls para usuarios de Visual Basic 6.0.
|
Count |
Nota:
Existen diferencias en la colección Controls de Visual Basic 2008. Para obtener más información, vea Controles de formularios Windows Forms para usuarios de Visual Basic 6.0.
|
CurrentX CurrentY |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
DrawMode DrawStyle DrawWidth |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
FillColor FillStyle |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
Nota:
Las fuentes se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Objeto Font para usuarios de Visual Basic 6.0.
|
ForeColor |
Nota:
Los colores se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Comportamiento del color para los usuarios de Visual Basic 6.0.
|
HasDC |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
HDC |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Height |
Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.
|
HelpContextID |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
HWnd |
|
Image |
Nueva implementación. La propiedad Image en Visual Basic 6.0 devolvía un identificador para un mapa de bits; las imágenes en Visual Basic 2008 no tienen identificadores. |
Left |
Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.
|
LinkMode LinkTopic |
No hay equivalente. Para obtener más información, vea Intercambio dinámico de datos para usuarios de Visual Basic 6.0. |
MaxButton |
|
MDIChild |
Nota:
El comportamiento de MDI es diferente en Visual Basic 2008. Para obtener más información, vea MDI para usuarios de Visual Basic 6.0.
|
MinButton |
|
MouseIcon |
Nueva implementación. Para obtener más información, vea No se puede personalizar la propiedad MousePointer. |
MousePointer |
Para obtener una lista de constantes, vea MousePointer para usuarios de Visual Basic 6.0. |
Moveable |
Nueva implementación. Para obtener más información, vea Propiedad Moveable para usuarios de Visual Basic 6.0. |
Name |
|
NegotiateMenus |
Nueva implementación. Para obtener más información, vea Objeto Menu para usuarios de Visual Basic 6.0. |
OLEDropMode |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
Palette PaletteMode |
Nueva implementación. Para obtener más información, vea Paletas para usuarios de Visual Basic 6.0. |
Picture |
Nota:
En Visual Basic 6.0, Picture aparecía en la esquina superior izquierda del formulario; en Visual Basic 2008, BackgroundImage se dispone en mosaico.
|
RightToLeft: True False |
Valor de la enumeración Yes |
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
Nueva implementación. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0. |
StartUpPosition: 0 – Manual 1 – CenterOwner 2 – CenterScreen 3 – Windows Default |
Valor de la enumeración Manual Valor de la enumeración CenterParent Valor de la enumeración CenterScreen Valor de la enumeración WindowsDefaultLocation |
Top |
Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.
|
WhatsThisButton |
Nota:
Existen diferencias en el comportamiento de la Ayuda en Visual Basic 2008. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.
|
WhatsThisHelp |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
Width |
Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.
|
Métodos de Form
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
Circle |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Cls |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Line |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Move |
Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.
|
OLEDrag |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
PaintPicture |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Point |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
PopupMenu |
Nueva implementación. Para obtener más información, vea Objeto Menu para usuarios de Visual Basic 6.0. |
PrintForm |
Nueva implementación. Para obtener más información, vea Imprimir cambios para usuarios de Visual Basic 6.0. |
Pset |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
Scale ScaleX ScaleY |
Nueva implementación. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0. |
SetFocus |
|
Show |
|
TextHeight |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
TextWidth |
Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0. |
ValidateControls |
Nota:
El método Validate devuelve True o False; ValidateControls produce un error si la validación no se realiza con éxito.
|
WhatsThisMode |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
ZOrder: 0 – vbBringToFront 1 - vbSendToBack |
Función BringToFront o SendToBack |
Eventos de Form
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
Activate |
Nota:
En Visual Basic 6.0, el evento Activate sólo se provoca cuando se cambia entre los formularios de la aplicación; en Visual Basic 2008, el evento Activated también se provoca cuando se cambia de una aplicación a otra.
|
Click |
Nota:
El evento Click no es compatible con los formularios MDI.
|
DblClick |
|
Deactivate |
Nota:
En Visual Basic 6.0, el evento Deactivate sólo se provoca cuando se cambia entre los formularios de la aplicación; en Visual Basic 2008, también se provoca cuando se cambia de una aplicación a otra.
|
DragDrop DragOver |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
GotFocus |
|
Initialize |
Método New
Nota:
El comportamiento del método New es diferente del comportamiento del evento Initialize. Para obtener más información, vea Tareas de formularios para usuarios de Visual Basic 6.0.
|
LinkClose LinkError LinkExecute LinkOpen |
No hay equivalente. Para obtener más información, vea Intercambio dinámico de datos para usuarios de Visual Basic 6.0. |
MouseDown |
Nota:
El evento MouseDown no es compatible con los formularios MDI.
|
MouseMove |
Nota:
El evento MouseMove no es compatible con los formularios MDI.
|
MouseUp |
Nota:
El evento MouseUp no es compatible con los formularios MDI.
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
QueryUnload |
Nota:
En Visual Basic 6.0, QueryUnload toma dos argumentos, Cancel y UnloadMode. En Visual Basic 2008, Cancel se ha reemplazado por Cancel; UnloadMode se ha reemplazado por CloseReason.
|
Terminate |
Método Dispose
Nota:
El comportamiento del método Dispose es diferente del comportamiento del evento Terminate. Para obtener más información, vea Eventos de formularios para usuarios de Visual Basic 6.0.
|
Unload |
Nota:
El comportamiento del evento FormClosing es diferente del comportamiento del evento Unload. Para obtener más información, vea Eventos de formularios para usuarios de Visual Basic 6.0.
|
Vea también
Conceptos
Tareas de formularios para usuarios de Visual Basic 6.0