Application.Startup イベント

定義

Run() オブジェクトの Application メソッドが呼び出されると発生します。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 

イベントの種類

StartupEventHandler

次の例では、スタンドアロンアプリケーションからコマンドラインオプションを取得して処理する方法を示します。The following example shows how to acquire and process command-line options from a standalone application. /Start最小化されたコマンドラインパラメーターを指定した場合、アプリケーションはメインウィンドウを最小化された状態で開きます。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

XAML ブラウザー アプリケーション (XBAP)XAML browser applications (XBAPs) 配置を使用して起動されるため、コマンドライン引数を取得して処理することはできません ClickOnceClickOnce (「 wpf アプリケーションの配置 (wpf)」を参照してください)。cannot retrieve and process command-line arguments because they are launched with ClickOnceClickOnce deployment (see Deploying a WPF Application (WPF)). ただし、起動に使用される URL のクエリ文字列パラメーターを取得して処理することはできます。However, they can retrieve and process query string parameters from the URLs that are used to launch them.

注釈

一般的な Windows Presentation Foundation アプリケーションでは、起動時に次のようなさまざまな初期化タスクを実行できます。A typical Windows Presentation Foundation application may perform a variety of initialization tasks when it starts up, including:

  • コマンドラインパラメーターを処理しています。Processing command-line parameters.

  • メインウィンドウを開きます。Opening the main window.

  • アプリケーションスコープのリソースを初期化しています。Initializing application-scope resources.

  • アプリケーションスコープのプロパティを初期化しています。Initializing application-scope properties.

XAMLXAML(それぞれと) を使用して、メインウィンドウとアプリケーションスコープのリソースを宣言によって指定でき StartupUri Resources ます。You can declaratively specify the main window and application-scope resources using XAMLXAML (StartupUri and Resources, respectively). ただし、アプリケーションのリソースまたはメインウィンドウは、実行時にプログラムによってのみ決定できることもあります。Sometimes, however, the resources or main window of your application can only be determined programmatically at run time. また、アプリケーションスコープのプロパティとコマンドラインパラメーターは、プログラムでのみ使用できます。Additionally, application-scope properties and command-line parameters can only be used programmatically. プログラムによる初期化は、次のようなイベントを処理することによって実行でき Startup ます。Programmatic initialization can be performed by handling the Startup event, including the following:

  • Args StartupEventArgs イベントハンドラーに渡されるクラスのプロパティから使用できるコマンドラインパラメーターを取得して処理し 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.

  • プロパティを使用して、アプリケーションスコープのリソースを初期化し Resources ます。Initialize application-scope resources by using the Resources property.

  • プロパティを使用して、アプリケーションスコープのプロパティを初期化 Properties します。Initialize application-scope properties by using the Properties property.

  • 1つまたは複数のウィンドウをインスタンス化して表示します。Instantiate and show one (or more) windows.

注意

コマンドラインパラメーターは、オブジェクトの静的メソッドを呼び出すことによって取得することもでき GetCommandLineArgs Environment ます。Command-line parameters can also be acquired by calling the static GetCommandLineArgs method of the Environment object. ただし、を GetCommandLineArgs 実行するには、完全な信頼が必要です。However, GetCommandLineArgs requires full trust to execute.

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

注意

アプリケーションでを使用して CredentialPolicy 資格情報ポリシーを指定する場合は、が発生した後にを設定する必要があります CredentialPolicy Startup 。それ以外の場合は、 WPFWPF 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.

イベントハンドラーに渡されるコマンドライン引数は、 Startup URLURL に渡されるクエリ文字列パラメーターと同じではありません 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 XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP).

適用対象

こちらもご覧ください