Compartir a través de


Eventos de formularios para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

Existen algunas diferencias en el comportamiento de los eventos de formulario entre Visual Basic 6.0 y Visual Basic 2008.

Diferencias conceptuales

Initialize (Evento)

En Visual Basic 6.0 el evento Initialize se utiliza para ejecutar código antes de cargar un formulario.

En Visual Basic 2008, el código de inicialización se debe agregar al constructor del formulario (Sub New()) una vez que se ha llamado a InitializeComponent(), como se muestra en el ejemplo siguiente:

' Visual Basic 6.0 
Private Sub Form_Initialize()
    MsgBox("The form is loading")
End Sub

 

' Visual Basic .NET 
Public Sub New()
    ' This call is required by the Windows Form Designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.
    MsgBox("The form is loading")
End Sub
Nota:

Uno de lo usos habituales del evento Initialize es mostrar un formulario de inicio con información mientras se carga el formulario. Las aplicaciones de Visual Basic 2008 tienen una propiedad SplashScreen que se puede usar para mostrar automáticamente un formulario mientras se inicia una aplicación. Para obtener más información, vea Cómo: Especificar una pantalla de presentación para una aplicación (Visual Basic).

Terminate (Evento)

En Visual Basic 6.0 el evento Terminate se utiliza para ejecutar código después de descargar un formulario.

En Visual Basic 2008, ya no se admite el evento Terminate. El código de finalización debe ejecutarse dentro del método Dispose antes de que se produzca la llamada a MyBase.Dispose().

Nota:

El método Dispose se invoca automáticamente para el formulario principal de una aplicación; para los demás formularios, deberá invocarlo explícitamente.

En el siguiente ejemplo se muestran las diferencias.

' Visual Basic 6.0 
Private Sub Form_Terminate()
    MsgBox "The form was terminated"
End Sub

 

' Visual Basic .NET 
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing AndAlso components IsNot Nothing Then
        MsgBox("The form was terminated")
        components.Dispose()
    End If
    MyBase.Dispose(disposing)
End Sub

Unload (Evento)

En Visual Basic 6.0, el evento Unload tiene un argumento Cancel; en Visual Basic 2008, se ha reemplazado por el evento Closed, que no tiene ningún argumento Cancel. Si necesita cancelar una operación durante la descarga, utilice en su lugar el evento Closing.

Eventos del mouse para formularios MDI

En Visual Basic 6.0 los formularios MDI admiten eventos del mouse (ratón). En Visual Basic 2008, puesto que un formulario MDI no tiene área de cliente para recibir los eventos del mouse, ya no se admiten los eventos Click, MouseDown, MouseMove ni MouseUp en los formularios MDI.

Vea también

Conceptos

Objeto Form para usuarios de Visual Basic 6.0

Referencia

Form

Form.Closing