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.
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.
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:
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:
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.
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.
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.
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).
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.
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.
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.
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.
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 |
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) |
|
Se o aplicativo usará estilos visuais XP. |
||
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. |
|
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) |