Application.Startup Événement

Définition

Se produit lorsque la méthode Run() de l'objet Application est appelée.Occurs when the Run() method of the Application object is called.

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

Exemples

L’exemple suivant montre comment acquérir et traiter des options de ligne de commande à partir d’une application autonome.The following example shows how to acquire and process command-line options from a standalone application. Si le paramètre de ligne de commande /StartMinimized a été fourni, l’application ouvre la fenêtre principale dans un État réduit.If the /StartMinimized command-line parameter was provided, the application opens the main window in a minimized state.

<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

applications du navigateur XAML (XBAP)XAML browser applications (XBAPs) ne peut pas récupérer et traiter les arguments de ligne de commande, car ils sont lancés avec ClickOnceClickOnce déploiement (consultez déploiement d’une application WPF (WPF)).cannot retrieve and process command-line arguments because they are launched with ClickOnceClickOnce deployment (see Deploying a WPF Application (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.However, they can retrieve and process query string parameters from the URLs that are used to launch them.

Remarques

Une application Windows Presentation Foundation classique peut effectuer diverses tâches d’initialisation au démarrage, y compris :A typical Windows Presentation Foundation application may perform a variety of initialization tasks when it starts up, including:

  • Traitement des paramètres de ligne de commande.Processing command-line parameters.

  • Ouverture de la fenêtre principale.Opening the main window.

  • Initialisation des ressources de portée application.Initializing application-scope resources.

  • Initialisation des propriétés de portée application.Initializing application-scope properties.

Vous pouvez spécifier de façon déclarative la fenêtre principale et les ressources de portée application à l’aide de XAMLXAML (respectivementStartupUri et Resources).You can declaratively specify the main window and application-scope resources using XAMLXAML (StartupUri and Resources, respectively). Parfois, toutefois, les ressources ou la fenêtre principale de votre application ne peuvent être déterminées par programme qu’au moment de l’exécution.Sometimes, however, the resources or main window of your application can only be determined programmatically at run time. En outre, les propriétés de portée application et les paramètres de ligne de commande ne peuvent être utilisés que par programmation.Additionally, application-scope properties and command-line parameters can only be used programmatically. L’initialisation par programmation peut être effectuée en gérant l’événement Startup, y compris les éléments suivants :Programmatic initialization can be performed by handling the Startup event, including the following:

  • Acquérir et traiter les paramètres de ligne de commande, qui sont disponibles à partir de la propriété Args de la classe StartupEventArgs qui est passée au gestionnaire d’événements Startup.Acquire and process command-line parameters, which are available from the Args property of the StartupEventArgs class that is passed to the Startup event handler.

  • Initialisez les ressources de portée application à l’aide de la propriété Resources.Initialize application-scope resources by using the Resources property.

  • Initialisez les propriétés de portée application à l’aide de la propriété Properties.Initialize application-scope properties by using the Properties property.

  • Instancier et afficher une ou plusieurs fenêtres.Instantiate and show one (or more) windows.

Notes

Les paramètres de ligne de commande peuvent également être obtenus en appelant la méthode statique GetCommandLineArgs de l’objet Environment.Command-line parameters can also be acquired by calling the static GetCommandLineArgs method of the Environment object. Toutefois, GetCommandLineArgs nécessite une confiance totale pour s’exécuter.However, GetCommandLineArgs requires full trust to execute.

Si vous définissez StartupUri à l’aide de XAMLXAML, la fenêtre principale créée n’est pas disponible à partir de la propriété MainWindow ou de la propriété Windows de l’objet Application tant que l’événement Startup n’a pas été traité.If you set StartupUri using XAMLXAML, the main window that is created is not available from either the MainWindow property or the Windows property of the Application object until after the Startup event is processed. Si vous avez besoin d’accéder à la fenêtre principale au démarrage, vous devez créer manuellement un nouvel objet de fenêtre à partir de votre gestionnaire d’événements Startup.If you need access to the main window during startup, you need to manually create a new window object from your Startup event handler.

Notes

Si votre application utilise CredentialPolicy pour spécifier une stratégie d’informations d’identification, vous devez définir CredentialPolicy après le déclenchement de Startup ; dans le cas contraire, WPFWPF le définit sur une stratégie interne par défaut directement après le déclenchement de l’événement Startup.If your application uses CredentialPolicy to specify a credential policy, you need to set CredentialPolicy after Startup is raised; otherwise, WPFWPF sets it to a default internal policy directly after the Startup event has been raised.

Les arguments de ligne de commande passés au gestionnaire d’événements Startup ne sont pas les mêmes que les URLURL les paramètres de chaîne de requête passés à un application du navigateur XAML (XBAP)XAML browser application (XBAP).The command-line arguments that are passed to the Startup event handler are not the same as the URLURL query string parameters that are passed to an application du navigateur XAML (XBAP)XAML browser application (XBAP).

S’applique à

Voir aussi