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
Gestire AcceptButton
sabato 20 dicembre 2008 - 13.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
edward_radical
Profilo
| Newbie
39
messaggi | Data Invio:
sab 20 dic 2008 - 13:45
All'interno di un form, con definizione di AcceptButton e CancelButton, ho la necessità di non chiudere il form alla sua accettazione al verificarsi di una determinata condizione.
Al momento ho effettuato l'exit sub, ma il form viene chiuso.
Esiste un modo per evitare la chiusura del form e restituire il controllo al form, c'è qualcosa del genere in fase di chiusura dell'applicazione con "e.cancel"; esiste qualcosa di analogo per l'AcceptButton?
A disposizione.
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
sab 20 dic 2008 - 15:29
e.cancel=true ("e" sono gli EventArgs)
Fammi sapere.
edward_radical
Profilo
| Newbie
39
messaggi | Data Invio:
dom 21 dic 2008 - 11:37
No purtroppo non va, avevo provato anche io questa soluzione, ma la proprietà non c'è!
Al momento ho utilizzato un workaround inventato da me!
Appena si verifica la condizione di blocco della chiusura del form imposto una variabile che indica che il form NON deve essere chiuso.
Nell'evento FormClosing (considerato che da qui DEVE passare per forza
) se la variabile è impostata sfrutto l'e.cancel per evitare la chiusura del form e reimposto la variabile a zero.
Il modo forse non è molto elegante, ma funziona!
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
dom 21 dic 2008 - 14:03
Scusa ma c'è qualcosa che non torna.....
Prima dici che la Proprietà Cancel non c'è!!!!
Poi dici che la usi!!!!!!
Puoi spiegarti meglio???
Workaround per evitare la chiusura del Form....NON CE NE SONO.
Una volta scatenato l'evento FormClosing...non c'è workaround che tenga....il form si chiude e basta.(a parte la proprietà Cancel = true)!!!!
edward_radical
Profilo
| Newbie
39
messaggi | Data Invio:
dom 21 dic 2008 - 14:43
Ok, mi spiego meglio.
Il problema è che la pressione dell'ok è anche intercettata dal form come AcceptButton, quindi alla pressione del tasto viene anche avviata l'operazione di chiusura del form, quindi dal bottone NON c'è modo di interrompere l'operazione di chiusura.
Ora, io utilizzo l'e.cancel, non del bottone (considerato che non esiste!), ma del FormClosing.
Quindi:
- premo il bottone con AcceptButton e dopo le operazioni del bottone viene avviata l'operazione di chiusura del form
- sull'azione del bottone se si verifica la mia condizione imposto una variabile uncloseFrm=True, che indica che il form NON deve essere chiuso
- viene avviato in automatico il FormClosing...
- in FormClosing se la mia variabile è impostata (uncloseFrm=True) imposto l'e.cancel=True e do il focus al controllo che mi interessa, in questo modo il form non si chiude!
In conclusione ho sfruttato l'e.cancel del form e non ho interrotto la catena di eventi dell'AcceptButton ovvero pressione bottone/chiusura form...
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
dom 21 dic 2008 - 16:28
Ok...effettivamente avevo interpretato male....
Grazie della precisazione.
Ciao.
edward_radical
Profilo
| Newbie
39
messaggi | Data Invio:
lun 22 dic 2008 - 08:29
Ma figurati nessun problema
In effetti non mi ero spiegato benissimo, comunque anche se, ripeto, non mi fa impazzire il modo, ho risolto il problema.
Grazie e a presto.
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 !