Application クラス

定義

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

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

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

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

注意

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

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

HighDpiMode

アプリケーションの現在の高 DPI モードを取得します。

LocalUserAppDataPath

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

MessageLoop

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

OpenForms

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

ProductName

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

ProductVersion

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

RenderWithVisualStyles

現在のアプリケーションが visual スタイルを使用してコントロールを描画しているかどうかを示す値を取得します。

SafeTopLevelCaptionFormat

警告見出しと共に表示された場合にトップレベル ウィンドウのキャプションに適用する書式指定文字列を取得または設定します。

StartupPath

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

UserAppDataPath

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

UserAppDataRegistry

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

UseVisualStyles

視覚スタイルがアプリケーションに対して有効になっているかどうかを示す値を取得します。

UseWaitCursor

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

VisualStyleState

アプリケーション ウィンドウに visual スタイルをどのように適用するかを指定する値を取得します。

メソッド

AddMessageFilter(IMessageFilter)

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

DoEvents()

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

EnableVisualStyles()

アプリケーションで visual スタイルを有効にします。

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 アプリケーション全体の既定値を設定します。

SetDefaultFont(Font)

プロセスの既定値 Font を設定します。

SetHighDpiMode(HighDpiMode)

プロセスの高 DPI モードを設定します。

SetSuspendState(PowerState, Boolean, Boolean)

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

SetUnhandledExceptionMode(UnhandledExceptionMode)

未処理の例外への対応方法をアプリケーションに指示します。

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

未処理の例外に応答する方法をアプリケーションに指示し、オプションでスレッド固有の動作を適用します。

ToString()

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

(継承元 Object)
UnregisterMessageLoop()

RegisterMessageLoop(Application+MessageLoopCallback) によってなされたメッセージ ループ コールバックを登録解除します。

イベント

ApplicationExit

アプリケーションをシャットダウンしようとすると発生します。

EnterThreadModal

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

Idle

アプリケーションが処理を完了し、アイドル状態に入ろうとすると発生します。

LeaveThreadModal

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

ThreadException

トラップされないスレッドの例外がスローされると、発生します。

ThreadExit

スレッドをシャットダウンしようとすると発生します。 アプリケーションのメイン スレッドをシャットダウンしようとすると、まずこのイベントが発生し、続いて ApplicationExit イベントが発生します。

適用対象