PDA

View Full Version : [C#]Impedire chiusura applicazione con form aperti


RaouL_BennetH
23-03-2008, 19:26
Prima di tutto, buona pasqua a tutti :)

Il mio problemuccio è questo:

Ho un form principale, che è contenitore di altri form.

Vorrei fare in modo che se ci sono altri form aperti, se per sbaglio l'utente clicca sull'uscita del form padre, ci sia un evento che impedisca di uscire dall'applicazione senza prima aver chiuso gli altri form figli.

Ogni suggerimento è ben accetto :)

Ancora auguri.

RaouL.

stdecden
23-03-2008, 19:29
Si puo fare semplicemente catturando l'evento closing e settando cancel su true:

MSDN: :read:
http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.closing.aspx

RaouL_BennetH
23-03-2008, 19:50
Si puo fare semplicemente catturando l'evento closing e settando cancel su true:

MSDN: :read:
http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.closing.aspx

Non ho letto ancora l'articolo e spero sia molto meglio di quanto sia riuscito a fare io :D



private bool ChildFormOpen()
{
bool childFormOpen = false;
foreach(Form f in Application.OpenForms)
{
if(!f.IsMdiContainer && !f.IsDisposed)
{
childFormOpen = true;
return childFormOpen;
}
}
return childFormOpen;
}

private void buttonExit_Click(object sender, EventArgs e)
{
if(ChildFormOpen())
{
//non puoi uscire, ci sono form aperti
}
else
{
Application.Exit();
}
}



Che ne dite .... merito il daily wtf ? :winner: