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ı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ı Form1
bir 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 true
ayarlayı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 true
Cancel 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.