Application.Startup Événement

Définition

Se produit lorsque la méthode Run() de l'objet Application est appelée.

public:
 event System::Windows::StartupEventHandler ^ Startup;
public event System.Windows.StartupEventHandler Startup;
member this.Startup : System.Windows.StartupEventHandler 
Public Custom Event Startup As StartupEventHandler 

Type d'événement

Exemples

L’exemple suivant montre comment acquérir et traiter des options de ligne de commande à partir d’une application autonome. Si le paramètre de ligne de commande /StartMinimized a été fourni, l’application ouvre la fenêtre main dans un état réduit.

<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" />
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();
        }
    }
}

Imports System.Windows

Namespace SDKSample
    Partial Public Class App
        Inherits Application
        Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
            ' Application is running
            ' Process command line args
            Dim startMinimized As Boolean = False
            Dim i As Integer = 0
            Do While i <> e.Args.Length
                If e.Args(i) = "/StartMinimized" Then
                    startMinimized = True
                End If
                i += 1
            Loop

            ' Create main application window, starting minimized if specified
            Dim mainWindow As New MainWindow()
            If startMinimized Then
                mainWindow.WindowState = WindowState.Minimized
            End If
            mainWindow.Show()
        End Sub
    End Class
End Namespace

Les applications de navigateur XAML (XBAPs) ne peuvent pas récupérer et traiter les arguments de ligne de commande, car elles sont lancées avec le déploiement ClickOnce (voir Déploiement d’une application WPF (WPF)). En revanche, ils peuvent récupérer et traiter des paramètres de chaîne de requête à partir des URL servant à les lancer.

Remarques

Une application Windows Presentation Foundation standard peut effectuer diverses tâches d’initialisation au démarrage, notamment :

  • Traitement des paramètres de ligne de commande.

  • Ouverture de la fenêtre main.

  • Initialisation des ressources d’étendue d’application.

  • Initialisation des propriétés d’étendue d’application.

Vous pouvez spécifier de manière déclarative la fenêtre main et les ressources d’étendue d’application à l’aide de XAML (StartupUri et Resources, respectivement). Toutefois, parfois, les ressources ou main fenêtre de votre application ne peuvent être déterminées que par programmation au moment de l’exécution. En outre, les propriétés d’étendue d’application et les paramètres de ligne de commande ne peuvent être utilisés que par programmation. L’initialisation par programmation peut être effectuée en gérant l’événement Startup , notamment les éléments suivants :

  • Acquérir et traiter les paramètres de ligne de commande, qui sont disponibles à partir de la Args propriété de la StartupEventArgs classe qui est passée au gestionnaire d’événements Startup .

  • Initialisez des ressources d’étendue d’application à l’aide de la Resources propriété .

  • Initialisez les propriétés d’étendue d’application à l’aide de la Properties propriété .

  • Instanciez et affichez une (ou plusieurs) fenêtres.

Notes

Les paramètres de ligne de commande peuvent également être acquis en appelant la méthode statique GetCommandLineArgs de l’objet Environment . Toutefois, GetCommandLineArgs nécessite une confiance totale pour s’exécuter.

Si vous définissez StartupUri à l’aide de XAML, la fenêtre main créée n’est pas disponible à partir de la MainWindow propriété ou de la Windows propriété de l’objet Application tant qu’après le traitement de l’événementStartup. Si vous avez besoin d’accéder à la fenêtre main au démarrage, vous devez créer manuellement un objet fenêtre à partir de votre Startup gestionnaire d’événements.

Notes

Si votre application utilise CredentialPolicy pour spécifier une stratégie d’informations d’identification, vous devez définir CredentialPolicy après Startup est déclenché ; sinon, WPF la définit sur une stratégie interne par défaut directement après que l’événement Startup a été déclenché.

Les arguments de ligne de commande passés au Startup gestionnaire d’événements ne sont pas les mêmes que les paramètres de chaîne de requête d’URL qui sont passés à une application de navigateur XAML (XBAP).

S’applique à

Voir aussi