Form.FormClosing Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Form kapatılana kadar 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, olay işleyicisi olayın oluşumunu FormClosing bildirir. 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 MessageBox.Show değiştirmeyi Console.WriteLine veya çok satırlı TextBoxbir iletiye eklemeyi göz önünde bulundurun.
Örnek kodu çalıştırmak için, adlı Formtürünün Form1 bir örneğini 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, formla ilişkili tüm kaynaklar serbest bırakıldığında atılır. Bu olayı iptal ederseniz form açık kalır. Formun kapatılmasını iptal etmek için, olay işleyicinize geçirilen özelliğini FormClosingEventArgs olarak trueayarlayınCancel.
Form kalıcı 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 olayı için DialogResult bir olay işleyicisinde FormClosing özelliğini ayarlayarak DialogResultKapat düğmesine tıkladığında özelliğe atanan değeri geçersiz kılabilirsiniz.
Uyarı
Close Yöntem, modsuz bir 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 sonra 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, FormClosed tüm MDI alt formlarının olayları, MDI üst formunun olayı tetiklenene kadar FormClosed tetiklenir. 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 false için özelliğini MDI üst formunda olarak ayarlayınCancel.
Olayları işleme hakkında daha fazla bilgi için bkz . Olayları İşleme ve Oluşturma.