Eventos de formulário para usuários do Visual Basic 6.0

Existem algumas diferenças no comportamento de eventos de formulário entre o Visual Basic 6.0 e Visual Basic 2008.

Diferenças Conceituais

Inicializar eventos

No Visual Basic 6.0, a Initialize evento é usado para executar código antes que um formulário é carregado.

In Visual Basic 2008, código de inicialização deve ser adicionado para o (Construtor de formulárioSub New()) após a telefonar para InitializeComponent(), sistema autônomo no exemplo a seguir:

' 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
Observação:

Um uso comum do Initializeevento é apresentar um formulário de "abertura" para exibir informações enquanto o formulário é carregado. Visual Basic 2008 os aplicativos têm um SplashScreen propriedade que pode ser usada para exibir um formulário automaticamente durante a inicialização do aplicativo. Para obter mais informações, consulte Como: Especifique uma tela inicial para um aplicativo (Visual Basic).

Finalizar eventos

No Visual Basic 6.0, a Terminate evento é usado para executar códigos depois que um formulário é descarregado.

In Visual Basic 2008, o Terminate Não há mais suporte para o evento. O código de finalização deve ser executado dentro de Dispose método antes da telefonar para MyBase.Dispose().

Observação:

O Dispose método é chamado automaticamente para o formulário principal em um aplicativo; você precisa chamá-lo explicitamente para qualquer Outros formulário.

O exemplo a seguir demonstra as diferenças.

' 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

Descarregar eventos

No Visual Basic 6.0, a Unload o evento tem um argumento cancelar; no Visual Basic 2008, ele será substituído pelo Closed evento não tem um argumento cancelar. Se você precisar cancelar durante o descarregamento, use o Closing evento em vez disso.

Eventos de Mouse para formulários MDI

No Visual Basic 6.0, os Formulários MDI suportam eventos de Mouse.In Visual Basic 2008, porque um formulário MDI não tem nenhuma área de cliente para receber eventos de mouse do Click, MouseDown, MouseMove, e MouseUp os eventos não são suportados para formulários MDI.

Consulte também

Conceitos

Objeto Form para usuários do Visual Basic 6.0

Referência

Form

Form.Closing