Application クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
static アプリケーションを管理するためのメソッドとプロパティ (アプリケーションを開始および停止するメソッド、Windows メッセージを処理するメソッド、アプリケーションに関する情報を取得するプロパティなど) を提供します。 このクラスは継承できません。
public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
- 継承
-
Application
例
次のコード例では、フォームのリスト ボックスに数値を一覧表示します。
button1をクリックするたびに、アプリケーションはリストに別の番号を追加します。
Main メソッドはRunを呼び出してアプリケーションを起動し、フォーム、listBox1、button1を作成します。 ユーザーが button1をクリックすると、 button1_Click メソッドに MessageBoxが表示されます。 ユーザーがMessageBoxのNoをクリックすると、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) |
特定のコントロールで定義されている |
| SetSuspendState(PowerState, Boolean, Boolean) |
システムを中断または休止状態にするか、システムを中断または休止状態にするよう要求します。 |
| SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) |
ハンドルされない例外に応答し、必要に応じてスレッド固有の動作を適用する方法をアプリケーションに指示します。 |
| SetUnhandledExceptionMode(UnhandledExceptionMode) |
ハンドルされない例外に応答する方法をアプリケーションに指示します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
| UnregisterMessageLoop() |
RegisterMessageLoop(Application+MessageLoopCallback)で行われたメッセージ ループ コールバックの登録を解除します。 |
イベント
| 名前 | 説明 |
|---|---|
| ApplicationExit |
アプリケーションがシャットダウンしようとしているときに発生します。 |
| EnterThreadModal |
アプリケーションがモーダル状態に入りようとしているときに発生します。 |
| Idle |
アプリケーションの処理が完了し、アイドル状態に入りようとしているときに発生します。 |
| LeaveThreadModal |
アプリケーションがモーダル状態を終了しようとしているときに発生します。 |
| ThreadException |
未処理のスレッド例外がスローされたときに発生します。 |
| ThreadExit |
スレッドがシャットダウンしようとしているときに発生します。 アプリケーションのメイン スレッドがシャットダウンされようとすると、最初にこのイベントが発生し、その後に ApplicationExit イベントが発生します。 |