次の方法で共有


Form.OnClosing メソッド

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

Protected Overridable Sub OnClosing( _
   ByVal e As CancelEventArgs _)
[C#]
protected virtual void OnClosing(CancelEventArgse);
[C++]
protected: virtual void OnClosing(CancelEventArgs* e);
[JScript]
protected function OnClosing(
   e : CancelEventArgs);

パラメータ

解説

イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「 イベントの発生 」を参照してください。

OnClosing メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。

継承時の注意: 派生クラスで OnClosing をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnClosing メソッドを呼び出してください。

使用例

 
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 'Form1_Closing
End Class 'Form1

[C#] 
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...
      }
   }
}

[C++] 
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(S"Do you want to save changes to your text?", S"My Application",
            MessageBoxButtons::YesNo) ==  DialogResult::Yes)
         {
            // Cancel the Closing event from closing the form.
            e->Cancel = true;
            // Call method to save file...
         }
      }
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

Form クラス | Form メンバ | System.Windows.Forms 名前空間 | Closing | CancelEventArgs