Newsgroup: it.comp.lang.visual-basic
Titolo: ci riprovo VB6 e validazione textbox

a ri buongiorno
quindi
ho una casella di testo, una griglia ed un pulsante con caption &PROSEGUI
quando faccio click su una cella della griglia la casella di testo si sposta
sopra la cella diventa visibile,  e prende il focus
al momento in cui lascio la textbox con il TAB tutto ok
 fa il lostfocus dove valida il valore della texbox rende la casella di 
testo invisibile
se dopo che ho inserito un valore nella casella di testo e mentre la casella 
ha ancora il focus premo ALT + P il codice se ne va direttamente all'evento 
CLICK del pulsante e non passa dall'evento LOSTFOCUS della textbox
quindi non valida il valore della textbox e la lascia visibile
grazie per l'eventuale aiuto 


Nell'evento Click del CommandButton forzagli il focus come prima cosa.
Sub cmdProsegui_Click
    cmdProsegui.SetFocus
    ...
End Sub
Comunque solitamente si usa l'evento Validate anziché LostFocus per effettuare
le validazioni dei textbox.
(Ma in tal caso assicurati che tutti i controlli abbiano CausesValidation=True)
Bye
Raf
-----------------------------------------------------
Funk: cooler than the other side of the pillow.

 grazie per l'eventuale aiuto
Ammazza oh!
Traduco questa mia precedente INCOMPRENSIBILE e INIMMAGINABILE soluzione:
"Controlla la textbox nel click del pulsante"
Sub BottonoCTRLP_Click()
    Call EControllaENascondiStaTextBox
    ' ... fai quello che devi fare
End Sub
Sub TextBox1_LostFocus()
    Call EControllaENascondiStaTextBox
End Sub
Se ancora questa soluzione non va bene spiega il perchč anzichč dire che 
nessuno ti č stato d'aiuto.
Ciao 

"Rafunk" <rafun...@NOTHANKSlibero.it> ha scritto nel messaggio 
news:f6d72a$2e8$1...@alix.livenet.it...

grazie per il consiglio, so anche che si usa Validate
vorrei solo capire per quale motivo premendo ALT+P
non va a fare text1_lostfocus
mentre facendo click con il mouse sopra il pulsante tutto funziona bene.

 ha scritto nel messaggio 
news:468a211d$0$36441$4faf...@reader5.news.tin.it...

scusa non volevo essere offensivo
perfavore leggi il msg sopra 

 scusa non volevo essere offensivo
Non è un problema di essere offensivi, ma del fatto che se ne stava già 
parlando e la storia non pareva così complessa.
Ciao 

 ha scritto nel messaggio 
news:468a261c$0$36452$4faf...@reader5.news.tin.it...

si ok
io pensavo che scatenando un'altro evento, fosse naturale che la gerarchia 
degli eventi mandasse il tutto prima al lost focus dell'oggetto che ha il 
focus
ho la testa come un asino 

 ha scritto nel messaggio 
news:468a2a70$0$36448$4faf...@reader5.news.tin.it...

quello che io vorrei capire e':
perche se prendo il mouse lo porto sul pulsante e mentre la casella di testo 
ha il focus, faccio click, lui fa regolarmente il lostfocus e poi il click 
del pulsante
mentre
se mentre la casella di testo ha il focus, io premo ALT+P (hotkey), lui fa 
solamente cmdprosegui_click()
saro' duro ma a me me pare strano 

 mentre facendo click con il mouse sopra il pulsante tutto funziona bene.
Perchè non si attiva il Lost Focus.
Nelle mie form posso salvare premendo un pulsante o F2.
Alla routine di salvataggio, ti basta fare:
cmdSalva.SetFocus
DoEvents
In questo modo sei sicuro che viene generato tutto.
In alternativa, se invece dei LostFocus usassi i validate, ti basterebbe
fare
Me.ValidateControls prima di proseguire, magari con gestione errori se nei
Validate setti Cancel= True