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 

イベントの種類

次の例は、スタンドアロン アプリケーションからコマンド ライン オプションを取得して処理する方法を示しています。 /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 (StartupUriResources) を使用して、メイン ウィンドウとアプリケーション スコープ リソースを宣言的に指定できます。 ただし、アプリケーションのリソースまたはメインウィンドウは、実行時にプログラムによってのみ決定できる場合があります。 さらに、アプリケーション スコープのプロパティとコマンド ライン パラメーターは、プログラムでのみ使用できます。 プログラムによる初期化は、次のようなイベントを Startup 処理することによって実行できます。

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

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

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

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

注意

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

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

注意

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

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

適用対象

こちらもご覧ください