Ler em inglês

Compartilhar via


Application.Startup Evento

Definição

Ocorre quando o método Run() do objeto Application é chamado.

C#
public event System.Windows.StartupEventHandler Startup;

Tipo de evento

Exemplos

O exemplo a seguir mostra como adquirir e processar opções de linha de comando de um aplicativo autônomo. Se o parâmetro de linha de comando /StartMinimized tiver sido fornecido, o aplicativo abrirá a janela main em um estado minimizado.

XAML
<Application
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.App"
  Startup="App_Startup" />
C#
using System.Windows;

namespace SDKSample
{
    public partial class App : Application
    {
        void App_Startup(object sender, StartupEventArgs e)
        {
            // Application is running
            // Process command line args
            bool startMinimized = false;
            for (int i = 0; i != e.Args.Length; ++i)
            {
                if (e.Args[i] == "/StartMinimized")
                {
                    startMinimized = true;
                }
            }

            // Create main application window, starting minimized if specified
            MainWindow mainWindow = new MainWindow();
            if (startMinimized)
            {
                mainWindow.WindowState = WindowState.Minimized;
            }
            mainWindow.Show();
        }
    }
}

Os XBAPs (aplicativos de navegador XAML) não podem recuperar e processar argumentos de linha de comando porque são iniciados com a implantação do ClickOnce (consulte Deploying a WPF Application (WPF)). No entanto, eles podem recuperar e processar parâmetros de cadeia de caracteres de consulta de URLs usadas para iniciá-los.

Comentários

Um aplicativo de Windows Presentation Foundation típico pode executar uma variedade de tarefas de inicialização quando é iniciado, incluindo:

  • Processando parâmetros de linha de comando.

  • Abrindo a janela main.

  • Inicializando recursos de escopo do aplicativo.

  • Inicializando propriedades de escopo do aplicativo.

Você pode especificar declarativamente a janela main e os recursos de escopo do aplicativo usando XAML (StartupUri e Resources, respectivamente). Às vezes, no entanto, os recursos ou main janela do aplicativo só podem ser determinados programaticamente em tempo de execução. Além disso, as propriedades de escopo do aplicativo e os parâmetros de linha de comando só podem ser usados programaticamente. A inicialização programática pode ser executada manipulando o Startup evento, incluindo o seguinte:

  • Adquira e processe parâmetros de linha de comando, que estão disponíveis na Args propriedade da StartupEventArgs classe que é passada para o Startup manipulador de eventos.

  • Inicialize recursos de escopo do aplicativo usando a Resources propriedade .

  • Inicialize as propriedades de escopo do aplicativo usando a Properties propriedade .

  • Instancie e mostre uma (ou mais) janelas.

Observação

Os parâmetros de linha de comando também podem ser adquiridos chamando o método estático GetCommandLineArgs do Environment objeto . No entanto, GetCommandLineArgs requer confiança total para execução.

Se você definir StartupUri usando XAML, a janela main criada não estará disponível na MainWindow propriedade ou na Windows propriedade do Application objeto até que o Startup evento seja processado. Se você precisar de acesso à janela main durante a inicialização, precisará criar manualmente um novo objeto de janela do manipulador Startup de eventos.

Observação

Se o aplicativo usar CredentialPolicy para especificar uma política de credencial, você precisará definir CredentialPolicy depois Startup que for gerado; caso contrário, o WPF o definirá como uma política interna padrão diretamente após o Startup evento ter sido gerado.

Os argumentos de linha de comando que são passados para o Startup manipulador de eventos não são os mesmos que os parâmetros de cadeia de caracteres de consulta de URL que são passados para um aplicativo de navegador XAML (XBAP).

Aplica-se a

Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Confira também