Form.OnClosing(CancelEventArgs) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Closing イベントを発生させます。
protected:
virtual void OnClosing(System::ComponentModel::CancelEventArgs ^ e);
protected virtual void OnClosing (System.ComponentModel.CancelEventArgs e);
abstract member OnClosing : System.ComponentModel.CancelEventArgs -> unit
override this.OnClosing : System.ComponentModel.CancelEventArgs -> unit
Protected Overridable Sub OnClosing (e As CancelEventArgs)
パラメーター
イベント データを格納している CancelEventArgs。
例
次の例では、 を使用 Closing して、 内 TextBox のテキストが変更されたかどうかをテストします。 ある場合、ユーザーは変更をファイルに保存するかどうかを確認するメッセージが表示されます。
private:
void Form1_Closing( Object^ /*sender*/, System::ComponentModel::CancelEventArgs^ e )
{
// Determine if text has changed in the textbox by comparing to original text.
if ( textBox1->Text != strMyOriginalText )
{
// Display a MsgBox asking the user to save changes or abort.
if ( MessageBox::Show( "Do you want to save changes to your text?", "My Application", MessageBoxButtons::YesNo ) == ::DialogResult::Yes )
{
// Cancel the Closing event from closing the form.
e->Cancel = true;
// Call method to save file...
}
}
}
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// Determine if text has changed in the textbox by comparing to original text.
if (textBox1.Text != strMyOriginalText)
{
// Display a MsgBox asking the user to save changes or abort.
if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
// Cancel the Closing event from closing the form.
e.Cancel = true;
// Call method to save file...
}
}
}
Private Sub Form1_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
' Determine if text has changed in the textbox by comparing to original text.
If textBox1.Text <> strMyOriginalText Then
' Display a MsgBox asking the user to save changes or abort.
If MessageBox.Show("Do you want to save changes to your text?", "My Application", MessageBoxButtons.YesNo) = DialogResult.Yes Then
' Cancel the Closing event from closing the form.
e.Cancel = True
End If ' Call method to save file...
End If
End Sub
End Class
注釈
注意事項
メソッドはOnClosing、.NET Framework 2.0 以降では使用されていません。代わりに メソッドをOnFormClosing使用してください。
イベントを発生させると、イベント ハンドラーがデリゲートから呼び出されます。 詳細については、処理とイベントの発生 を参照してください。
OnClosing メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。 このメソッドをオーバーライドすることは、派生クラスでイベントを処理する場合に推奨される手法です。
注意事項
OnClosedメソッドと OnClosing メソッドは、アプリケーションを終了するために メソッドがApplication.Exit呼び出されるときに呼び出されません。 これらのいずれかのメソッドに検証コードを実行する必要がある場合は、 メソッドを Form.Close 呼び出す前に、開いているフォームごとに メソッドを Exit 個別に呼び出す必要があります。
注意 (継承者)
派生クラスで OnClosing(CancelEventArgs) をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnClosing(CancelEventArgs) メソッドを呼び出してください。
適用対象
こちらもご覧ください
.NET