Newsgroup: it.comp.lang.visual-basic
Titolo: Validate and X

ciao a tutti!
Ho una text nella quale l'utente deve
inserire un numero.
io lo formatto e gli faccio un po' di controllini logici....
il problema è che i controllini logici li farei nella validate ma
se mi clicca sulla X non si scatena l'evento validate!!!  (..e nemmeno il
lostFocus)
Ora visto che non mi sembra tanto logico
lanciare nella query unload tutti i vari validate,
come potrei fare???
mik

Potresti :
1- bloccare la pressione di X disabilitando il tasto (forse politicamente
scorretto, ma funzionante)
2- Gestire l'evento change e non lostfocus (però forse è peggio)
Ciao Gab

*Mik* ha scritto:

La (brutale) chiusura di una finestra dovrebbe (generalmente) invalidarla
integralmente.
Sinceramente, non sopporterei il contrario. Metti un bottone di conferma.

 Sinceramente, non sopporterei il contrario. Metti un bottone di conferma.
In che senso metti un bottone di conferma?
Se nel senso di un messaggio non cambia perchè
l'evento non si scatena comunque no?
MIk

 In che senso metti un bottone di conferma?
Nel senso: se l'utente clicca su quel bottone, validi i dati e chiudi la
maschera, se la maschera viene chiusa per qualsiasi altra ragione i dati
vengono eliminati.
Salutoni
Sergio

 vengono eliminati.
Ok d'accordo, ma se ha inserito una quantità enorme i dati,
magari note,e una serie di dati tra i quali anche prezzi,
non è molto carino segarglieli così!
Comunque grazie, accetto il consiglio e se clicca sulla x.....amen!
Mik


Ma no amen, se utilizzi il pulsante di chiusura dovresti eliminare la X in
modo che l'utente sia obbligato a chiudere la maschera attraverso il tuo
pulsante in modo che tu possa gestire tutto quello che ti pare.
Io farei in questo modo, Ciao!
Mattia

 non è molto carino segarglieli così!
Se proprio vuoi fare il raffinato... una variabile che dica se i dati sono
validati, in chiusura, se non validati gli dici: "attento, ti stai sparando
sui piedi, vuoi continuare?"
Salutoni
Sergio

 Io farei in questo modo, Ciao!
Anch'io farei in questo modo,
però devi tenere conto che la maggior parte degli utenti
è abituata a chiudere una finestra utilizzando la X,
quindi impedigli di usarla è un po' troppo drastico...
..ho detto amen,perchè farò i controlli nella query unload.
Al postoche avere il numero già pronto lo formatterò al momento!
Mik


Ottima idea di Sergio!
Quindi nell'evento QueryUnload controlli il valore della variabile:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  If Me.NomeVar ="NonAggiornato" Then
    Cancel = 1
    ' E la maschera non si chiude piu, e dici all'utente che ha fatto
cazzate...
  End If
End Sub

 ha scritto nel messaggio
news:b9r0af$m3tbl$1...@ID-165476.news.dfncis.de...

NEIN :
ATTENZIONE : Chiudendo la form si perderanno i dati ... continuare ? [SI]
[NO]
if [SI]
    chiudi la form e te ne sbatti
if [No]
   NON chiudi la form e l'utente puo' continuare a lavorarci
+ semplice di cosi !!!

    NON chiudi la form e l'utente puo' continuare a lavorarci
Beh un minimo di controllo era sottointeso,
avevo già risposto a Mattia,
il problema era ritrovarmi con i dati già belli formattati,
io gli chiedo sull'uscita se vuole salvare ma me li devo formattare al
momento!
Era solo per risparmiare un po di controlli!
Grazie mille comunque!
MIk