Application.Startup Esemény

Definíció

Az objektum metódusának Run() meghívásakor Application fordul elő.

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

Eseménytípus

Példák

Az alábbi példa bemutatja, hogyan szerezhet be és dolgozhat fel parancssori beállításokat önálló alkalmazásból. Ha a /StartMinimized parancssori paraméter meg van adva, az alkalmazás kis méretű állapotban nyitja meg a főablakot.

<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

Az XAML böngészőalkalmazások (XBAP-k) nem tudják lekérni és feldolgozni a parancssori argumentumokat, mert a ClickOnce üzembe helyezésével indulnak el (lásd: A WPF-alkalmazások (WPF)). A lekérdezési sztring paramétereit azonban lekérhetik és feldolgozhatják az indításukhoz használt URL-címekről.

Megjegyzések

Egy tipikus Windows megjelenítési alaprendszer alkalmazás indításkor számos inicializálási feladatot hajthat végre, többek között a következőket:

  • Parancssori paraméterek feldolgozása.

  • Nyissa meg a főablakot.

  • Alkalmazáshatókörű erőforrások inicializálása.

  • Alkalmazás-hatókör tulajdonságainak inicializálása.

Deklaratív módon megadhatja a főablakot és az alkalmazáshatókörű erőforrásokat az XAML (StartupUri és Resourcesa ) használatával. Néha azonban az alkalmazás erőforrásai vagy főablaka csak programozott módon határozható meg futásidőben. Emellett az alkalmazás hatókörének tulajdonságai és parancssori paraméterei csak programozott módon használhatók. A programozott inicializálás az Startup esemény kezelésével végezhető el, beleértve a következőket:

  • Az eseménykezelőnek átadott Args osztály tulajdonságából StartupEventArgs elérhető parancssori Startup paraméterek beszerzése és feldolgozása.

  • Inicializálja az alkalmazás hatókörű erőforrásait a Resources tulajdonság használatával.

  • Inicializálja az alkalmazás hatókörének tulajdonságait a Properties tulajdonság használatával.

  • Példányosíthat és megjeleníthet egy (vagy több) ablakot.

Note

A parancssori paraméterek az objektum statikus GetCommandLineArgs metódusának Environment meghívásával is beszerezhetők. A GetCommandLineArgs végrehajtáshoz azonban teljes megbízhatóságra van szükség.

Ha XAML használatával állítja be a StartupUri, a létrehozott fő ablak sem a MainWindow tulajdonságból, sem a Windows objektum Application tulajdonságából nem érhető el, amíg a Startup esemény feldolgozása nem történik meg. Ha az indítás során hozzá kell férnie a főablakhoz, manuálisan kell létrehoznia egy új ablakobjektumot az Startup eseménykezelőből.

Note

Ha az alkalmazás CredentialPolicy használ hitelesítőadat-szabályzat megadásához, a CredentialPolicy létrehozása után be kell állítania Startup; ellenkező esetben WPF beállítja azt egy alapértelmezett belső szabályzatra közvetlenül a Startup esemény létrehozása után.

Az eseménykezelőnek Startup átadott parancssori argumentumok nem azonosak az XAML böngészőalkalmazásnak (XBAP) átadott URL-lekérdezési sztringparaméterekkel.

A következőre érvényes:

Lásd még