Form.FormClosing Olay

Tanım

Form kapatılamadan önce gerçekleşir.

public:
 event System::Windows::Forms::FormClosingEventHandler ^ FormClosing;
public event System.Windows.Forms.FormClosingEventHandler FormClosing;
public event System.Windows.Forms.FormClosingEventHandler? FormClosing;
member this.FormClosing : System.Windows.Forms.FormClosingEventHandler 
Public Custom Event FormClosing As FormClosingEventHandler 

Olay Türü

Örnekler

Aşağıdaki örnekte bu üyenin kullanımı gösterilmektedir. Örnekte, bir olay işleyicisi olayın oluşumunu FormClosing raporlar. Bu rapor, olayın ne zaman gerçekleştiğini öğrenmenize yardımcı olur ve hata ayıklamada size yardımcı olabilir. Birden çok olayı veya sık gerçekleşen olayları raporlamak için, iletisini ile Console.WriteLine değiştirmeyi MessageBox.Show veya çok satırlı TextBoxbir iletiye eklemeyi göz önünde bulundurun.

Örnek kodu çalıştırmak için, adlı Form1bir tür Form örneği içeren bir projeye yapıştırın. Ardından olay işleyicisinin olayla ilişkilendirildiğinden FormClosing emin olun.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Cancel", e.Cancel );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "FormClosing Event" );
}
Private Sub Form1_FormClosing(sender as Object, e as FormClosingEventArgs) _ 
     Handles Form1.FormClosing

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Cancel", e.Cancel)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"FormClosing Event")

End Sub

Açıklamalar

Form FormClosing kapatılırken olay gerçekleşir. Form kapatıldığında atılır ve formla ilişkili tüm kaynaklar serbest bırakılır. Bu olayı iptal ederseniz form açık kalır. Formun kapatılmasını iptal etmek için olay işleyicinize geçirilen öğesinin FormClosingEventArgs özelliğini olarak trueayarlayınCancel.

Form kalıcı bir iletişim kutusu olarak görüntülendiğinde, Kapat düğmesine (formun sağ üst köşesinde X işareti bulunan düğme) tıklandığında form gizlenir ve DialogResult özelliği olarak ayarlanır DialogResult.Cancel. Kullanıcı, formun DialogResult olayı için bir olay işleyicisinde FormClosing özelliğini ayarlayarak DialogResultKapat düğmesine tıkladığında özelliğe atanan değeri geçersiz kılabilirsiniz.

Not

Close Yöntem, modsuz pencere olarak görüntülenen bir Form pencerede çağrıldığında, formun Show kaynakları zaten serbest bırakıldığından, formu görünür hale getirmek için yöntemini çağıramazsınız. Bir formu gizlemek ve görünür hale getirmek için yöntemini kullanın Hide .

Form bir çok belgeli arabirim (MDI) üst formuysa, FormClosing MDI üst formunun olayı tetikilmeden önce tüm MDI alt formlarının FormClosing olayları tetiklenir. Benzer şekilde, tüm MDI alt formlarının olayları, FormClosed MDI üst formunun olayı tetiklenene kadar FormClosed tetiklenir. Bir MDI alt formunun olayını iptal etmek FormClosing , MDI üst formunun olayının tetiklenmesini engellemez FormClosing . Ancak, olayı iptal etmek üst forma trueCancel parametre olarak geçirilen sınıfın özelliğine FormClosingEventArgs ayarlanır. Tüm MDI üst ve alt formlarını kapanmaya zorlamak için MDI üst formunda özelliğini olarak false ayarlayınCancel.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ayrıca bkz.