Sdílet prostřednictvím


Form.FormClosing Událost

Definice

Nastane před uzavřením formuláře.

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 

Event Type

Příklady

Následující příklad ukazuje použití tohoto člena. V tomto příkladu obslužná rutina události hlásí výskyt FormClosing události. Tato sestava vám pomůže zjistit, kdy k události dojde, a může vám pomoct při ladění. Chcete-li hlásit více událostí nebo událostí, ke kterým dochází často, zvažte nahrazení MessageBox.ShowConsole.WriteLine nebo připojení zprávy do víceřádkového řetězce TextBox.

Pokud chcete spustit ukázkový kód, vložte ho do projektu, který obsahuje instanci typu Form s názvem Form1. Potom se ujistěte, že je obslužná rutina události přidružená k FormClosing události.

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

Poznámky

K FormClosing události dochází při zavření formuláře. Když je formulář zavřený, uvolní se všechny prostředky přidružené k formuláři. Pokud tuto událost zrušíte, formulář zůstane otevřen. Chcete-li zrušit uzavření formuláře, nastavte Cancel vlastnost FormClosingEventArgs předaného obslužné rutině události na true.

Když je formulář zobrazen jako modální dialogové okno, klepněte na tlačítko Zavřít (tlačítko s X v pravém horním rohu formuláře) způsobí, že formulář bude skrytý a DialogResult vlastnost nastavena na DialogResult.Cancel. Hodnotu přiřazenou vlastnosti DialogResult můžete přepsat, když uživatel klikne na tlačítko Zavřít nastavením DialogResult vlastnosti v obslužné rutině události pro FormClosing událost formuláře.

Poznámka:

Close Když je volána metoda zobrazená Form jako bezmodální okno, nelze volat Show metodu, aby formulář byl viditelný, protože prostředky formuláře již byly vydány. Pokud chcete formulář skrýt a pak ho zviditelnit, použijte metodu Hide .

Pokud je formulář nadřazený formulář s více dokumenty (MDI), FormClosing jsou události všech podřízených formulářů MDI vyvolány před vyvolání události nadřazeného FormClosing formuláře MDI. FormClosed Podobně jsou vyvolány události všech podřízených formulářů MDI před FormClosed vyvolání události nadřazeného formuláře MDI. Zrušení FormClosing události podřízeného formuláře MDI nezabrání FormClosing vyvolání události nadřazeného formuláře MDI. Zrušení události však nastaví vlastnost trueCancelFormClosingEventArgs třídy, která je předána jako parametr nadřazeného formuláře. Chcete-li vynutit zavření všech nadřazených a podřízených formulářů MDI, nastavte Cancel vlastnost false v nadřazené formuláři MDI.

Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.

Platí pro

Viz také