Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Form close
venerdì 07 maggio 2004 - 12.21
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
pecos81
Profilo
| Junior Member
68
messaggi | Data Invio:
ven 7 mag 2004 - 12:21
Ciao a tutti,
ecco il mio nuovo problema:
ho una form che mi consente di vedere ad es una lista di clienti e sulla quale posso fare aggiunta, modofica, eliminazione, e salvataggio record.
Se sono ad es in modifica e clicco sul mio CmdEsci, faccio la sana domanda: "Vuoi salvare le modifiche?" e, se la risp è si, salvo. Se chiudo il form dalla X in alto a dx, intercetto l'evento mybase.close e controllo se devo fare il salvataggio delle modifiche. Il salvataggio lo esegue, ma sia che risponda si, sia che risponda no dopo mi chiude il form (a ragion veduta, visto che intercetto l'evento di chiusura).
Come devo fare per far sì che se alla richiesta di salvataggio, se gli dico "annulla" non mi chiuda il form?
Ecco come ora intercetto la pressione della X di chiusura del form:
Private Sub Form_Close(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
CmdAnnulla_Click(Me, e) 'Cmd dove chiedo se salvare le eventuali modifiche
End Sub
Ciao e grazie
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 7 mag 2004 - 16:52
Ciao Pecos81..la soluzione al tuo broblema è su msdn, sottol 'argomento del'evento "Form.Closing"..cito una parte...
"...L'evento Closing si verifica alla chiusura del form. Quando un form viene chiuso vengono liberate tutte le risorse create all'interno di tale oggetto e il form viene eliminato. Se si annulla l'evento il form rimane aperto. Per annullare la chiusura di un form impostare la proprietà Cancel dell'oggetto CancelEventArgs passato al gestore eventi su true.
Quando un form è visualizzato come finestra di dialogo modale, facendo clic sul pulsante Chiudi, ovvero il pulsante con la X visualizzato nell'angolo superiore destro del form, il form viene nascosto e la proprietà DialogResult viene impostata su DialogResult.Cancel. Per eseguire l'override del valore assegnato alla proprietà DialogResult quando l'utente fa clic sul pulsante Chiudi, impostare la proprietà DialogResult in un gestore eventi per l'evento Closing del form..."
Prova a leggere l'argomento, spero di essere stato d'aiuto..
Ciao, Andy
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
sab 8 mag 2004 - 19:06
Concordo! E siccome val più un esempio di mille parole.....:
Private Sub FrmEditaPrimaNota_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If GIN.PblFlagStartNascondi = True Then
'il comando di chiusura può venire solo da FrmStart, che nn può darlo
' se nn è visibile
e.Cancel = True
Me.FlagEscape = True
End If
End Sub
La riga e.Cancel = True è quella che compie il miracolo!
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !