Form.Closing Form.Closing Form.Closing Form.Closing Event

정의

폼이 닫히는 동안 발생합니다.Occurs when the form is closing.

public:
 event System::ComponentModel::CancelEventHandler ^ Closing;
[System.ComponentModel.Browsable(false)]
public event System.ComponentModel.CancelEventHandler Closing;
member this.Closing : System.ComponentModel.CancelEventHandler 
Public Custom Event Closing As CancelEventHandler 
특성

예제

다음 코드 예제에서는 Closing 테스트에서 텍스트를 TextBox 변경 되었습니다.The following code example uses Closing to test if the text in a TextBox has changed. 가 있는 경우 사용자는 것인지 묻는 메시지가 나타나면 파일에 저장 합니다.If it has, the user is asked whether to save the changes to a 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 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 'Form1_Closing
End Class 'Form1

설명

주의

합니다 Closing 이벤트는.NET Framework 버전 2.0에서에서 사용 되지 않으므로 사용 된 FormClosing 이벤트 대신 합니다.The Closing event is obsolete in the .NET Framework version 2.0; use the FormClosing event instead.

Closing 는 폼이 닫히는 이벤트 발생 합니다.The Closing event occurs as the form is being closed. 폼이 닫히면 개체 내에서 만든 리소스를 모두 해제 되 고 폼은 삭제 됩니다.When a form is closed, all resources created within the object are released and the form is disposed. 이 이벤트를 취소 하면 폼 열린 상태로 유지 됩니다.If you cancel this event, the form remains opened. 폼의 클로저에 취소 하려면를 Cancel 의 속성을 CancelEventArgs 이벤트 처리기에 전달 된 true합니다.To cancel the closure of a form, set the Cancel property of the CancelEventArgs passed to your event handler to true.

폼을 모달 대화 상자로 표시 되 면 클릭 하는 닫기 단추 (폼의 오른쪽 위 모서리에 있는 x 단추) 하면 폼이 표시 되지 않도록 하며 DialogResult 속성을 설정할 DialogResult.Cancel합니다.When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. 에 할당 된 값을 재정의할 수 있습니다는 DialogResult 클릭할 때 속성을 닫기 설정 하 여 단추를 DialogResult 속성에 대 한 이벤트 처리기에서는 Closing 폼의 이벤트.You can override the value assigned to the DialogResult property when the user clicks the Close button by setting the DialogResult property in an event handler for the Closing event of the form.

참고

경우는 Close 메서드를 호출을 Form 모덜리스 창으로 표시를 호출할 수 없습니다는 Show 양식의 리소스가 이미 해제 되었으므로 때문에 폼을 표시 하는 메서드.When the Close method is called on a Form displayed as a modeless window, you cannot call the Show method to make the form visible, because the form's resources have already been released. 폼을 숨기고 표시를 사용 하 여 확인 된 Control.Hide 메서드.To hide a form and then make it visible, use the Control.Hide method.

주의

Form.ClosedForm.Closing 이벤트는 발생 하는 경우를 Application.Exit 메서드를 호출 하 여 애플리케이션을 종료 합니다.The Form.Closed and Form.Closing events are not raised when the Application.Exit method is called to exit your application. 유효성 검사 코드를 실행 해야 하는 이러한 이벤트 중 하나가 있는 경우 호출 해야 합니다 Form.Close 메서드를 호출 하기 전에 개별적으로 열려 있는 각 폼에 대 한는 Exit 메서드.If you have validation code in either of these events that must be executed, you should call the Form.Close method for each open form individually before calling the Exit method.

폼이 MDI 부모 폼에는 Closing MDI 부모 폼의 하기 전에 모든 MDI 자식 폼의 이벤트는 발생 Closing 이벤트가 발생 합니다.If the form is an MDI parent form, the Closing events of all MDI child forms are raised before the MDI parent form's Closing event is raised. 또한 합니다 Closed 모든 MDI 자식 폼의 이벤트 발생 하기 전에 Closed MDI 부모 폼의 이벤트가 발생 합니다.In addition, the Closed events of all MDI child forms are raised before the Closed event of the MDI parent form is raised. 취소는 Closing MDI 자식 폼의 이벤트 해도 Closing 발생 하지 MDI 부모 폼의 이벤트입니다.Canceling the Closing event of an MDI child form does not prevent the Closing event of the MDI parent form from being raised. 그러나로 설정 됩니다 이벤트를 취소 trueCancel 의 속성을 CancelEventArgs 부모 폼에 매개 변수로 전달 되는 합니다.However, canceling the event will set to true the Cancel property of the CancelEventArgs that is passed as a parameter to the parent form. 모든 MDI 부모 및 자식 폼을 닫습니다, 설정 된 Cancel 속성을 false 를 mdi 부모 폼입니다.To force all MDI parent and child forms to close, set the Cancel property to false in the MDI parent form.

이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생 을 참조하십시오.For more information about handling events, see Handling and Raising Events.

적용 대상

추가 정보