Form.Closing Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika formulir ditutup.
public:
event System::ComponentModel::CancelEventHandler ^ Closing;
public event System.ComponentModel.CancelEventHandler Closing;
[System.ComponentModel.Browsable(false)]
public event System.ComponentModel.CancelEventHandler Closing;
[System.ComponentModel.Browsable(false)]
public event System.ComponentModel.CancelEventHandler? Closing;
member this.Closing : System.ComponentModel.CancelEventHandler
[<System.ComponentModel.Browsable(false)>]
member this.Closing : System.ComponentModel.CancelEventHandler
Public Custom Event Closing As CancelEventHandler
Jenis Acara
- Atribut
Contoh
Contoh berikut menggunakan Closing untuk menguji apakah teks dalam telah TextBox berubah. Jika sudah, pengguna ditanya apakah akan menyimpan perubahan ke 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
End Class
Keterangan
Perhatian
Peristiwa Closing usang dimulai dengan .NET Framework 2.0; gunakan peristiwa sebagai gantinyaFormClosing.
Peristiwa Closing terjadi saat formulir sedang ditutup. Ketika formulir ditutup, semua sumber daya yang dibuat dalam objek dirilis dan formulir dibuang. Jika Anda membatalkan acara ini, formulir tetap dibuka. Untuk membatalkan penutupan formulir, atur Cancel properti yang CancelEventArgs diteruskan ke penanganan aktivitas Anda ke true
.
Saat formulir ditampilkan sebagai kotak dialog modal, mengklik tombol Tutup (tombol dengan X di sudut kanan atas formulir) menyebabkan formulir disembunyikan dan DialogResult properti diatur ke DialogResult.Cancel
. Anda dapat mengganti nilai yang ditetapkan ke DialogResult properti saat pengguna mengklik tombol Tutup dengan mengatur DialogResult properti dalam penanganan aktivitas untuk Closing peristiwa formulir.
Catatan
Close Ketika metode dipanggil pada yang Form ditampilkan sebagai jendela tanpa mode, Anda tidak dapat memanggil Show metode untuk membuat formulir terlihat, karena sumber daya formulir telah dirilis. Untuk menyembunyikan formulir lalu membuatnya terlihat, gunakan Control.Hide metode .
Perhatian
Peristiwa Form.Closed dan Form.Closing tidak dinaikkan ketika Application.Exit metode dipanggil untuk keluar dari aplikasi Anda. Jika Anda memiliki kode validasi di salah satu peristiwa ini yang harus dijalankan, Anda harus memanggil Form.Close metode untuk setiap formulir terbuka satu per satu sebelum memanggil Exit metode .
Jika formulir adalah formulir induk MDI, Closing peristiwa semua bentuk anak MDI dimunculkan sebelum acara formulir Closing induk MDI dinaikkan. Selain itu, Closed kejadian semua bentuk anak MDI dimunculkan sebelum Closed acara formulir induk MDI dinaikkan.
Closing Membatalkan peristiwa formulir anak MDI tidak mencegah Closing peristiwa formulir induk MDI dinaikkan. Namun, membatalkan acara akan diatur ke true
Cancel properti CancelEventArgs yang diteruskan sebagai parameter ke formulir induk. Untuk memaksa semua formulir induk dan anak MDI ditutup, atur Cancel properti ke false
dalam formulir induk MDI.
Untuk informasi selengkapnya tentang menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.