Application.Startup イベント

定義

Run() オブジェクトの Application メソッドが呼び出されると発生します。

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

イベントの種類

StartupEventHandler

次の例は、スタンドアロン アプリケーションからコマンド ライン オプションを取得して処理する方法を示しています。 /StartMinimized コマンド ライン パラメーターが指定された場合、アプリケーションは最小化された状態でメイン ウィンドウを開きます。

<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

XAML ブラウザー アプリケーション (XBAP) は、ClickOnce配置で起動されるため、コマンド ライン引数を取得および処理できません (WPF アプリケーションの配置 (WPF) を参照)。 ただし、起動に使用される URL のクエリ文字列パラメーターを取得して処理することはできます。

注釈

一般的なWindows Presentation Foundation アプリケーションでは、起動時に次のようなさまざまな初期化タスクを実行できます。

  • コマンド ライン パラメーターの処理。

  • メイン ウィンドウを開きます。

  • アプリケーション スコープ リソースの初期化。

  • アプリケーション スコープのプロパティの初期化。

XAML (StartupUri および Resources、それぞれ) を使用して、メイン ウィンドウとアプリケーション スコープのリソースを宣言によって指定できます。 ただし、アプリケーションのリソースまたはメイン ウィンドウは、実行時にプログラムによってのみ決定できる場合があります。 さらに、アプリケーション スコープのプロパティとコマンド ライン パラメーターは、プログラムでのみ使用できます。 プログラムによる初期化は、次のようなイベントを Startup 処理することによって実行できます。

  • イベント ハンドラーに渡されるクラスのStartupEventArgsプロパティからArgs使用できるコマンド ライン パラメーターを取得してStartup処理します。

  • プロパティを使用して、アプリケーション スコープのリソースを Resources 初期化します。

  • プロパティを使用して、アプリケーション スコープのプロパティを Properties 初期化します。

  • 1 つ以上のウィンドウをインスタンス化して表示します。

注意

コマンド ライン パラメーターは、オブジェクトの静的 GetCommandLineArgs メソッド Environment を呼び出すことによって取得することもできます。 ただし、 GetCommandLineArgs 実行するには完全な信頼が必要です。

XAML を使用して設定StartupUriした場合、作成されるメイン ウィンドウは、イベントが処理されるまでStartup、オブジェクトのApplicationプロパティまたはWindowsプロパティからはMainWindow使用できません。 起動時にメイン ウィンドウにアクセスする必要がある場合は、イベント ハンドラーから新しいウィンドウ オブジェクトを手動で作成する必要があります Startup

注意

アプリケーションで資格情報ポリシーの指定に使用CredentialPolicyする場合は、発生した後Startupに設定CredentialPolicyする必要があります。それ以外の場合は、イベントが発生した直後に WPF によって既定の内部ポリシーにStartup設定されます。

イベント ハンドラーに Startup 渡されるコマンド ライン引数は、XAML ブラウザー アプリケーション (XBAP) に渡される URL クエリ文字列パラメーターと同じではありません。

適用対象

こちらもご覧ください