Application.Startup Application.Startup Application.Startup Application.Startup Event

定義

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 

次の例では、スタンドアロンアプリケーションからコマンドラインオプションを取得して処理する方法を示します。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 Microsoft.VisualBasic
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れるクラスのプロパティから使用できるコマンドラインパラメーターを取得して処理します。 StartupAcquire 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.

を使用しStartupUriXAMLXAMLを設定した場合、作成されるメインウィンドウは、 MainWindow Startupイベントが処理されるまでApplication 、オブジェクトのプロパティまたはWindowsプロパティからは使用できません。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して資格情報ポリシーを指定する場合は、 Startupが発生した後WPFWPFにを設定CredentialPolicyする必要があります。それ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イベントハンドラーに渡されるコマンドライン引数は、に渡さXAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP)れるURLURLクエリ文字列パラメーターと同じではありません。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).

適用対象

こちらもご覧ください