Application クラス

定義

static アプリケーションを管理するためのメソッドとプロパティ (アプリケーションを開始および停止するメソッド、Windows メッセージを処理するメソッド、アプリケーションに関する情報を取得するプロパティなど) を提供します。 このクラスは継承できません。

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
継承
Application

次のコード例では、フォームのリスト ボックスに数値を一覧表示します。 button1をクリックするたびに、アプリケーションはリストに別の番号を追加します。

Main メソッドはRunを呼び出してアプリケーションを起動し、フォーム、listBox1button1を作成します。 ユーザーが button1をクリックすると、 button1_Click メソッドに MessageBoxが表示されます。 ユーザーがMessageBoxNoをクリックすると、button1_Click メソッドによってリストに数値が追加されます。 ユーザーが Yesをクリックすると、アプリケーションは Exit を呼び出して、キュー内の残りのすべてのメッセージを処理してから終了します。

Note

Exitの呼び出しは部分信頼で失敗します。

public ref class Form1: public System::Windows::Forms::Form
{
private:
   Button^ button1;
   ListBox^ listBox1;

public:
   Form1()
   {
      button1 = gcnew Button;
      button1->Left = 200;
      button1->Text =  "Exit";
      button1->Click += gcnew EventHandler( this, &Form1::button1_Click );
      listBox1 = gcnew ListBox;
      this->Controls->Add( button1 );
      this->Controls->Add( listBox1 );
   }

private:
   void Form1::button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      int count = 1;
      
      // Check to see whether the user wants to exit 
      // the application. If not, add a number to the list box.
      while ( MessageBox::Show(  "Exit application?",  "", MessageBoxButtons::YesNo ) == ::DialogResult::No )
      {
         listBox1->Items->Add( count );
         count += 1;
      }

      
      // The user wants to exit the application. 
      // Close everything down.
      Application::Exit();
   }

};

int main()
{
   
   // Starts the application.
   Application::Run( gcnew Form1 );
}
public class Form1 : Form
{
    [STAThread]
    public static void Main()
    {
        // Start the application.
        Application.Run(new Form1());
    }

    private Button button1;
    private ListBox listBox1;

    public Form1()
    {
        button1 = new Button();
        button1.Left = 200;
        button1.Text = "Exit";
        button1.Click += new EventHandler(button1_Click);

        listBox1 = new ListBox();
        this.Controls.Add(button1);
        this.Controls.Add(listBox1);
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
        int count = 1;
        // Check to see whether the user wants to exit the application.
        // If not, add a number to the list box.
        while (MessageBox.Show("Exit application?", "",
            MessageBoxButtons.YesNo)==DialogResult.No)
        {
            listBox1.Items.Add(count);
            count += 1;
        }

        // The user wants to exit the application.
        // Close everything down.
        Application.Exit();
    }
}
Public Class Form1 
    Inherits Form

    <STAThread()> _
     Shared Sub Main()
        ' Start the application.
        Application.Run(New Form1)
    End Sub

    Private WithEvents button1 As Button
    Private WithEvents listBox1 As ListBox

    Public Sub New()
        button1 = New Button
        button1.Left = 200
        button1.Text = "Exit"

        listBox1 = New ListBox
        Me.Controls.Add(button1)
        Me.Controls.Add(listBox1)
    End Sub

    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles button1.Click
        Dim count As Integer = 1
        ' Check to see whether the user wants to exit the application.
        ' If not, add a number to the list box.
        While (MessageBox.Show("Exit application?", "", _
            MessageBoxButtons.YesNo) = DialogResult.No)

            listBox1.Items.Add(count)
            count += 1

        End While

        ' The user wants to exit the application. 
        ' Close everything down.
        Application.Exit()
    End Sub

End Class

注釈

Application クラスには、次のように、アプリケーションとスレッドを開始および停止し、メッセージWindows処理するメソッドがあります。

  • Run は、現在のスレッドでアプリケーション メッセージ ループを開始し、必要に応じてフォームを表示します。

  • Exit または ExitThread メッセージ ループを停止します。

  • DoEvents は、プログラムがループ内にある間にメッセージを処理します。

  • AddMessageFilter は、メッセージを監視するためにアプリケーション メッセージ ポンプにメッセージ フィルター Windows追加します。

  • IMessageFilter を使用すると、イベント ハンドラーを呼び出す前に、イベントの発生を停止したり、特別な操作を実行したりできます。

このクラスには、現在のスレッドのカルチャ情報を取得または設定するための CurrentCulture プロパティと CurrentInputLanguage プロパティがあります。

このクラスのインスタンスを作成することはできません。

プロパティ

名前 説明
AllowQuit

呼び出し元がこのアプリケーションを終了できるかどうかを示す値を取得します。

CommonAppDataPath

すべてのユーザー間で共有されるアプリケーション データのパスを取得します。

CommonAppDataRegistry

すべてのユーザー間で共有されるアプリケーション データのレジストリ キーを取得します。

CompanyName

アプリケーションに関連付けられている会社名を取得します。

CurrentCulture

現在のスレッドのカルチャ情報を取得または設定します。

CurrentInputLanguage

現在のスレッドの現在の入力言語を取得または設定します。

ExecutablePath

実行可能ファイル名を含む、アプリケーションを起動した実行可能ファイルのパスを取得します。

LocalUserAppDataPath

ローカルの非ローミング ユーザーのアプリケーション データのパスを取得します。

MessageLoop

このスレッドにメッセージ ループが存在するかどうかを示す値を取得します。

OpenForms

アプリケーションが所有する開いているフォームのコレクションを取得します。

ProductName

このアプリケーションに関連付けられている製品名を取得します。

ProductVersion

このアプリケーションに関連付けられている製品バージョンを取得します。

RenderWithVisualStyles

現在のアプリケーションがビジュアル スタイルを持つ描画コントロールであるかどうかを示す値を取得します。

SafeTopLevelCaptionFormat

最上位レベルのウィンドウ キャプションに適用する書式指定文字列を警告バナーと共に表示する場合に取得または設定します。

StartupPath

実行可能ファイル名を含めず、アプリケーションを起動した実行可能ファイルのパスを取得します。

UserAppDataPath

ユーザーのアプリケーション データのパスを取得します。

UserAppDataRegistry

ユーザーのアプリケーション データのレジストリ キーを取得します。

UseWaitCursor

アプリケーションのすべての開いているフォームに待機カーソルを使用するかどうかを取得または設定します。

VisualStyleState

ビジュアル スタイルをアプリケーション ウィンドウに適用する方法を指定する値を取得します。

メソッド

名前 説明
AddMessageFilter(IMessageFilter)

送信先にルーティングされるメッセージWindows監視するメッセージ フィルターを追加します。

DoEvents()

メッセージ キューに現在Windowsされているすべてのメッセージを処理します。

EnableVisualStyles()

アプリケーションのビジュアル スタイルを有効にします。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Exit()

終了する必要があることをすべてのメッセージ ポンプに通知し、メッセージの処理後にすべてのアプリケーション ウィンドウを閉じます。

Exit(CancelEventArgs)

終了する必要があることをすべてのメッセージ ポンプに通知し、メッセージの処理後にすべてのアプリケーション ウィンドウを閉じます。

ExitThread()

現在のスレッドでメッセージ ループを終了し、スレッド上のすべてのウィンドウを閉じます。

FilterMessage(Message)

ウィンドウ メッセージに対してフィルターを実行し、変更されたメッセージのコピーを返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OleRequired()

現在のスレッドで OLE を初期化します。

OnThreadException(Exception)

ThreadException イベントを発生させます。

RaiseIdle(EventArgs)

ホストされているシナリオで Idle イベントを発生させます。

RegisterMessageLoop(Application+MessageLoopCallback)

メッセージ ループがホスト環境で実行されているかどうかを確認するためのコールバックを登録します。

RemoveMessageFilter(IMessageFilter)

アプリケーションのメッセージ ポンプからメッセージ フィルターを削除します。

Restart()

アプリケーションをシャットダウンし、新しいインスタンスを直ちに開始します。

Run()

フォームなしで、現在のスレッドで標準アプリケーション メッセージ ループの実行を開始します。

Run(ApplicationContext)

ApplicationContextを使用して、現在のスレッドで標準アプリケーション メッセージ ループの実行を開始します。

Run(Form)

現在のスレッドで標準アプリケーション メッセージ ループの実行を開始し、指定したフォームを表示します。

SetCompatibleTextRenderingDefault(Boolean)

特定のコントロールで定義されている UseCompatibleTextRendering プロパティのアプリケーション全体の既定値を設定します。

SetSuspendState(PowerState, Boolean, Boolean)

システムを中断または休止状態にするか、システムを中断または休止状態にするよう要求します。

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

ハンドルされない例外に応答し、必要に応じてスレッド固有の動作を適用する方法をアプリケーションに指示します。

SetUnhandledExceptionMode(UnhandledExceptionMode)

ハンドルされない例外に応答する方法をアプリケーションに指示します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
UnregisterMessageLoop()

RegisterMessageLoop(Application+MessageLoopCallback)で行われたメッセージ ループ コールバックの登録を解除します。

イベント

名前 説明
ApplicationExit

アプリケーションがシャットダウンしようとしているときに発生します。

EnterThreadModal

アプリケーションがモーダル状態に入りようとしているときに発生します。

Idle

アプリケーションの処理が完了し、アイドル状態に入りようとしているときに発生します。

LeaveThreadModal

アプリケーションがモーダル状態を終了しようとしているときに発生します。

ThreadException

未処理のスレッド例外がスローされたときに発生します。

ThreadExit

スレッドがシャットダウンしようとしているときに発生します。 アプリケーションのメイン スレッドがシャットダウンされようとすると、最初にこのイベントが発生し、その後に ApplicationExit イベントが発生します。

適用対象