Form.FormClosing Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.