|
.NET TIPS
Windowsアプリケーション終了時に確認ダイアログを表示するには?
デジタルアドバンテージ 遠藤 孝信
2005/05/13 |
|
|
Windowsアプリケーションが誤って終了されるのを防ぐために、ユーザーがフォームを閉じようとしたときに次画面のような確認ダイアログ(実際にはメッセージ・ボックス)を表示させたい場合がある。
|
アプリケーション終了時に表示される確認ダイアログ |
ここで[いいえ]ボタンをクリックすれば、アプリケーションの終了をキャンセルでき、ユーザーは作業を継続することができる。 |
このダイアログでは、[いいえ]ボタンをクリックすることによりアプリケーションの終了をキャンセルでき、ユーザーはアプリケーションでの作業を継続することができる。
フォームのClosingイベント
ユーザーがフォームを閉じようとしたときには、フォームではClosingイベントが発生するため、終了確認のダイアログはこのタイミングで表示させればよい。
上記の画面のようなダイアログを表示するClosingイベントのイベント・ハンドラは次のようになる。
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
if (MessageBox.Show(
"終了してもいいですか?", "確認",
MessageBoxButtons.YesNo, MessageBoxIcon.Question
) == DialogResult.No) {
e.Cancel = true;
}
}
|
|
終了確認ダイアログを表示するClosingイベントのイベント・ハンドラの記述例(C#) |
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If MessageBox.Show( _
"終了してもいいですか?", "確認", _
MessageBoxButtons.YesNo, MessageBoxIcon.Question _
) = DialogResult.No Then
e.Cancel = True
End If
End Sub
|
|
終了確認ダイアログを表示するClosingイベントのイベント・ハンドラの記述例(VB.NET) |
ここでポイントとなるのは、イベント・ハンドラとなるメソッドのパラメータとして渡されるCancelEventArgsクラス(System.ComponentModel名前空間)のオブジェクトのCancelプロパティである。イベント・ハンドラでは、このプロパティをtrueに設定すればフォームの終了処理をキャンセルすることができる。
なお、ここでは確認ダイアログとして2つのボタンと疑問符アイコンを持つメッセージ・ボックスを利用しているが、メッセージ・ボックスについては「TIPS:メッセージ・ボックスを表示するには?」を参照してほしい。
カテゴリ:Windowsフォーム 処理対象:ダイアログ・ボックス
使用ライブラリ:Formクラス(System.Windows.Forms名前空間)
使用ライブラリ:CancelEventArgsクラス(System.ComponentModel名前空間)
関連TIPS:メッセージ・ボックスを表示するには?
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間