Keypress visual basic

lunedì 30 gennaio 2006 - 17.01

memnoch Profilo | Newbie

Ciao a tutti,
Sto facendo una applicazione in vb.net, associo a una textbox un evento keypress che tiene conto di quanti caratteri sono stati selezionati.
Poi richiamo dalla stessa textbox un'altro evento keypress che gestisce comandi speciali ( tipo esc chiude la finestra, enter conferma l'operazione,etc...)
... ma mi sono reso conto che nel secondo evento il primo non si è concluso... cioè entrambi gli eventi continuano ad andare, il che mi manda in conflitto un global_counter che uso, perche non viene aumentato di uno, ma di due.... spero di essermi spiegato ( non sono bravo a spiegarmi)..... se qualcuno saprebbe dirmi come disabilitare l'evento li sarei molto grato...........
grazie

Brainkiller Profilo | Guru

>Ciao a tutti,
>Sto facendo una applicazione in vb.net, associo a una textbox
>un evento keypress che tiene conto di quanti caratteri sono
>stati selezionati.
>Poi richiamo dalla stessa textbox un'altro evento keypress che
>gestisce comandi speciali ( tipo esc chiude la finestra, enter
>conferma l'operazione,etc...)
>... ma mi sono reso conto che nel secondo evento il primo non
>si è concluso... cioè entrambi gli eventi continuano ad andare,
>il che mi manda in conflitto un global_counter che uso, perche
>non viene aumentato di uno, ma di due.... spero di essermi spiegato
>( non sono bravo a spiegarmi)..... se qualcuno saprebbe dirmi
> come disabilitare l'evento li sarei molto grato...........

Ciao,
in effetti non si capisce molto, in particolare dove dici "i due eventi continuano ad andare", che vor dì ?
Considerato che lavori su keypress, ad ogni pressione di tasto viene invocato l'evento.
???



David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memnoch Profilo | Newbie

provo a spiegarmi.... stò facendo la simulazione di un cellulare. In un caso sto scrivendo un messaggio di testo si attiva un event handler che mi conta quanto è lungo il testo..... poi esco, faccio altre cose ed entro nella stessa textbox ma per un' altro tipo di messaggio e questa volta invoco un'altro event handler che non conta più le lettere scchiaciate da tastiera ma che tasto è( se backspace cancella l'intero messaggio, se enter conferma, etc...) se li faccio separati funzionano benissimo... ma se faccio prima uno poi l'altro vanno in conflitto ( es. schiaccio enter per confermare, ma mi conta anche come lettera e mi va a diminuire la lunghezza del messaggio)....
quello che non riesco è disattivare l'event handler, lui continua perenemente a contarmi le lettere ad ogni tasto schiacciato..... please help!!!

Brainkiller Profilo | Guru

>provo a spiegarmi.... stò facendo la simulazione di un cellulare.
>In un caso sto scrivendo un messaggio di testo si attiva un

Ok ma come fai stabilire se sei in un caso oppure nell'altro ?
Se fai uso di keypress l'unica cosa per cambiare il comportamento è mettere dentro un IF e l'IF deve appoggiarsi ad una condizione Esterna oppure ad una variabile a più stati.

Ossia se la variabile è true, il keypress si comporta in un modo.
Se è a false lo stesso keypress si comporta diversamente.

Naturalmente i due comportamenti corrispondono ai due rami dell'IF
Ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5