Partilhar via


Estendendo o modelo de aplicativo do Visual Basic

Você pode adicionar funcionalidades ao modelo de aplicativo, substituindo os membros Overridable da classe WindowsFormsApplicationBase. Essa técnica permite que você personalize o comportamento do modelo de aplicativo e adicione chamadas para seus próprios métodos quando o aplicativo é iniciado e desligado.

Visão geral visual do modelo de aplicativo

Esta seção visualmente apresenta a sequência de chamadas de função no modelo de aplicativo do Visual Basic. A seção seguinte descreve a finalidade de cada função em detalhes.

O gráfico a seguir mostra a sequência de chamadas do modelo de aplicativo em um aplicativo Visual Basic Windows Forms normal. A sequência é iniciada quando o procedimento Sub Main chama o método Run.

Modelo de aplicativo do Visual Basic -- Executar

Também fornece um modelo de aplicativo de Visual Basic a StartupNextInstance e UnhandledException eventos. Os gráficos a seguir mostram o mecanismo para disparar esses eventos.

Modelo de aplicativo do Visual Basic -- Próxima InstânciaExceção não tratada do modelo de aplicativo do Visual Basic

Substituindo os métodos base

O Run method define a ordem na qual o Application métodos de execução. Por padrão, o procedimento Sub Main de um aplicativo Windows Forms chama o método Run.

Se o aplicativo é um aplicativo normal (aplicativo de várias instâncias,) ou a primeira instância de um aplicativo de instância única, o método Run executa os métodos Overridable na seguinte ordem:

  1. OnInitialize. Por padrão, esse método define os estilos visuais, estilos de exibição de texto e principal atual para o segmento do aplicativo principal (se o aplicativo usa autenticação do Windows) e chamadas ShowSplashScreen se nenhuma das /nosplash nem -nosplash é usado como um argumento de linha de comando.

    A sequência de inicialização do aplicativo será cancelada se esta função retornar False. Isso pode ser útil se houver circunstâncias em que o aplicativo não deva executar.

    O método OnInitialize chama os métodos a seguir:

    1. ShowSplashScreen. Determina se o aplicativo tem um tela inicial definido e, em caso afirmativo, exibe a tela inicial em um segmento separado.

      O ShowSplashScreen método contém o código que exibe na tela inicial de tela pelo menos o número de milissegundos especificado pelo MinimumSplashScreenDisplayTime propriedade. Para usar essa funcionalidade, você deve adicionar a tela inicial para seu aplicativo usando o Project Designer (que define a propriedade My.Application.MinimumSplashScreenDisplayTime como dois segundos), ou definir a propriedade My.Application.MinimumSplashScreenDisplayTime em um método que sobrescreve os métodosOnInitialize ou OnCreateSplashScreen. Para obter mais informações, consulte MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Permite que um designer emitir código que inicializa a tela inicial.

      Por padrão, esse método não fará nada. Se você selecionar uma tela de abertura para seu aplicativo na Visual Basic Project Designer, o designer substitui o OnCreateSplashScreen método com um método que define o SplashScreen a propriedade para uma nova instância do formulário de tela de abertura.

  2. OnStartup. Fornece um ponto de extensibilidade para disparar o Startup de evento. A sequência de inicialização do aplicativo para se essa função retornar False.

    Por padrão, esse método dispara o Startup de evento. Se o manipulador de eventos define a propriedade Cancel do argumento do evento como True o método retornará False para cancelar a inicialização do aplicativo.

  3. OnRun. Fornece o ponto de partida para quando o aplicativo principal está pronto para iniciar a execução após a inicialização.

    Por padrão, antes de entrar no loop de mensagem do Windows Forms, este método chama os métodos OnCreateMainForm (para criar o formulário principal do aplicativo) e HideSplashScreen (para fechar a tela inicial).

    1. OnCreateMainForm. Fornece uma maneira para um designer emitir código que inicializa o formulário principal.

      Por padrão, esse método não fará nada. No entanto, quando você seleciona um formulário principal do aplicativo na Visual Basic Project Designer, o designer substitui o OnCreateMainForm método com um método que define o MainForm a propriedade para uma nova instância do formulário principal.

    2. HideSplashScreen. Se o aplicativo tem um tela inicial definido e ele estiver aberto, esse método fecha a tela inicial.

      Por padrão, esse método fecha a tela inicial.

  4. OnStartupNextInstance. Fornece uma maneira de personalizar como um aplicativo de instância única se comporta quando outra instância do aplicativo é iniciado.

    Por padrão, esse método dispara o StartupNextInstance de evento.

  5. OnShutdown. Fornece um ponto de extensibilidade para disparar o Shutdown de evento. Este método não é executado se uma exceção não manipulada ocorrer no aplicativo principal.

    Por padrão, esse método dispara o Shutdown de evento.

  6. OnUnhandledException. É executado quando uma exceção não manipulada ocorre em qualquer um dos métodos listados acima.

    Por padrão, esse método dispara o UnhandledException evento, desde que um depurador não está conectado e o aplicativo esteja manipulando o UnhandledException de evento.

Se o aplicativo é um aplicativo de instância única, e o aplicativo já está em execução, a instância subsequente do aplicativo chama o método OnStartupNextInstance na instância original do aplicativo e, em seguida, sai.

O construtor WindowsFormsApplicationBase chama a propriedade UseCompatibleTextRendering para determinar qual mecanismo de renderização de texto a ser usado para formulários do aplicativo. Por padrão, a propriedade UseCompatibleTextRendering retornará False,indicando que o mecanismo de renderização de texto GDI ser usado, qual é o padrão no Visual Basic 2005. Você pode substituir a propriedade UseCompatibleTextRendering para retornar True,que indica que o mecanismo de renderização de texto GDI+ a ser usado, o qual é o padrão no Visual Basic .NET 2002 e Visual Basic .NET 2003.

Configurando o aplicativo

Como parte do modelo de aplicativo Visual Basic, a classe WindowsFormsApplicationBase fornece propriedades protegidas que configuram o aplicativo. Essas propriedades devem ser definida no construtor da classe que as implementam.

Em um projeto do Windows Formspadrão, o Project Designer cria código para definir as propriedades com as configurações de designer. As propriedades são usadas somente quando o aplicativo está sendo iniciado; definí-las após o início do aplicativo não terá efeito.

Propriedade

Determina

Definindo com o Project Designer

IsSingleInstance

Se o aplicativo é executado como um aplicativo de instância única ou de múltiplas instâncias.

Como: Especificar o comportamento de instâncias de um aplicativo (Visual Basic)

EnableVisualStyles

Se o aplicativo usará estilos visuais XP.

Como: Ativar estilos visuais (Visual Basic)

SaveMySettingsOnExit

Se o aplicativo salva automaticamente as alterações nas configurações de usuário do aplicativo, quando sai do aplicativo.

Marque a caixa de seleção Save My.Settings on Shutdown no painel Application no Project Designer.

ShutdownStyle

O que faz com que o aplicativo seja finalizado, assim como quando o formulário principal é fechado ou quando todas os formulário são fechados.

Como: Especificar o comportamento de desligamento de um aplicativo (Visual Basic)

Consulte também

Referência

ApplicationBase

Startup

StartupNextInstance

UnhandledException

Shutdown

NetworkAvailabilityChanged

WindowsFormsApplicationBase

Conceitos

Visão Geral Sobre o Modelo do Aplicativo Visual Basic