Form.FormClosing Esemény
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az űrlap bezárása előtt következik be.
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
Eseménytípus
Példák
Az alábbi példa a tag használatát mutatja be. A példában egy eseménykezelő jelentést készít az FormClosing esemény előfordulásáról. Ez a jelentés segít megismerni az esemény bekövetkeztét, és segítséget nyújthat a hibakeresésben. Ha több eseményről vagy gyakran előforduló eseményről szeretne jelentést tenni, fontolja meg az üzenet többsorosra MessageBox.Showcserélését Console.WriteLineTextBox vagy hozzáfűzését.
A példakód futtatásához illessze be egy olyan projektbe, amely egy nevesített Formpéldányt Form1 tartalmaz. Ezután győződjön meg arról, hogy az eseménykezelő az eseményhez FormClosing van társítva.
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
Megjegyzések
Az FormClosing esemény az űrlap bezárásakor következik be. Ha egy űrlap bezárul, az el lesz állítva, és felszabadítja az űrlaphoz társított összes erőforrást. Ha megszakítja ezt az eseményt, az űrlap megnyílik. Az űrlap bezárásának megszakításához állítsa az Cancel eseménykezelőnek átadott tulajdonságot FormClosingEventArgs a következőre true: .
Ha egy űrlap modális párbeszédpanelként jelenik meg, a Bezárás gombra (az űrlap jobb felső sarkában lévő X billentyűvel) kattintva az űrlap rejtett lesz, a DialogResult tulajdonság pedig a következőre van állítva DialogResult.Cancel. Felülbírálhatja a DialogResult tulajdonsághoz rendelt értéket, ha a felhasználó a Bezárás gombra kattint, ha az DialogResult űrlap eseményének eseménykezelőjében beállítja a FormClosing tulajdonságot.
Note
Ha a Close metódust Form mód nélküli ablakként jeleníti meg, nem hívhatja meg a Show metódust, hogy láthatóvá tegye az űrlapot, mert az űrlap erőforrásai már megjelentek. Ha el szeretne rejteni egy űrlapot, majd láthatóvá tenni, használja a metódust Hide .
Ha az űrlap egy több dokumentumból álló felületi (MDI) szülőűrlap, az FormClosing MDI-gyermekűrlapok eseményei az MDI szülőűrlapjának eseménye FormClosing előtt lesznek előállítva. Hasonlóképpen, az FormClosed MDI gyermekűrlapjainak eseményei az MDI szülőűrlapjának létrehozása előtt FormClosed kerülnek elő.
FormClosing Az MDI gyermekűrlap eseményének lemondása nem akadályozza meg az FormClosing MDI szülőűrlapjának eseményét. Az esemény megszakítása azonban annak az osztálynak a trueCancel tulajdonságára lesz beállítvaFormClosingEventArgs, amelyet paraméterként ad át a szülőűrlapnak. Az MDI szülő- és gyermekűrlapjainak bezárásához állítsa be a Cancel tulajdonságot false az MDI szülőűrlapon.
Az események kezelésével kapcsolatos további információkért lásd : Események kezelése és emelése.