Share via


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

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

FormBorderStyle

Caption

Text

ClipControls

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Controls

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

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

Font

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

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

Height, Size

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

Handle

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

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

MaximizeBox

MDIChild

MdiParent

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

MinimizeBox

MouseIcon

Nueva implementación. Para obtener más información, vea No se puede personalizar la propiedad MousePointer.

MousePointer

Cursor

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

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

BackgroundImage

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

RightToLeft

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

StartPosition

 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

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

HelpButton

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

Width, Size

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

SetBounds

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

Activate

Show

Show o ShowDialog

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

Validate

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

 BringToFront

 SendToBack

Eventos de Form

Visual Basic 6.0

Equivalente en Visual Basic 2008

Activate

Activated

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

Click

Nota:
El evento Click no es compatible con los formularios MDI.

DblClick

DoubleClick

Deactivate

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

Enter

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

MouseDown

Nota:
El evento MouseDown no es compatible con los formularios MDI.

MouseMove

MouseMove

Nota:
El evento MouseMove no es compatible con los formularios MDI.

MouseUp

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

FormClosing

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

FormClosing

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

Otros recursos

Formularios Windows Forms