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 seqüê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 seqüência de chamadas do modelo de aplicativo em um aplicativo Visual Basic Windows Forms normal. A seqüência é iniciada quando o procedimento Sub Main chama o método Run.

Modelo de aplicativo do Visual Basic-- executar

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

Modelo de aplicativo do Visual Basic-- Próxima instânciaExceção sem tratamento do modelo de aplicativo do Visual Basic

Substituindo os métodos base

O método de Run define a ordem em que a execução dos métodos de Application . 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 estilos visuais, estilos de exibição de texto, e o principal atual para o segmento principal do aplicativo (se o aplicativo usa autenticação do windows), e chama ShowSplashScreen se nem nem /nosplash-nosplash são usados como um argumento de linha de comando.

    A seqüê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 definidas e se isso, exibe a tela inicial em um segmento separado.

      O método de ShowSplashScreen contém o código que exibe a tela inicial no mínimo o número de milissegundos especificado pela propriedade de MinimumSplashScreenDisplayTime . 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 o código que inicializa a tela inicial.

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

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

    Por padrão, esse método dispara o evento de Startup . 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 é feita.

    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 o código que inicializa o formulário principal.

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

    2. HideSplashScreen. Se o aplicativo tem um tela inicial definida e está aberto, este 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 inicia.

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

  5. OnShutdown. Fornece um ponto de extensibilidade para disparar o evento de Shutdown . 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 evento de Shutdown .

  6. OnUnhandledException. Executado se uma exceção não tratada ocorrer em qualquer um dos métodos listados acima.

    Por padrão, esse método dispara o evento de UnhandledException como um depurador é anexado e o aplicativo está tratando o evento de UnhandledException .

Se o aplicativo é um aplicativo de instância única, e o aplicativo já está em execução, a instância subseqüente 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

Definir no painel do designer de projeto

IsSingleInstance

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

a caixa de seleção deFaça o aplicativo de instância única

EnableVisualStyles

Se o aplicativo usará estilos visuais que correspondem Windows XP.

a caixa de seleção deAtivar estilos visuais XP

SaveMySettingsOnExit

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

a caixa de seleção deEm a finalização salvar My.Settings

ShutdownStyle

O que faz com que o aplicativo seja finalizado, como quando o formulário de inicialização fechar ou quando o último formulário fechar.

lista deModo de finalização

Consulte também

Referência

ApplicationBase

Startup

StartupNextInstance

UnhandledException

Shutdown

NetworkAvailabilityChanged

WindowsFormsApplicationBase

Página de Aplicativo, Designer de Projeto (Visual Basic)

Conceitos

Visão geral do modelo de aplicativo do Visual Basic