Oppure

Loading
14/07/10 12:33
oretovalley
Ciao a tutti sto sviluppando un software di messaggistica, stile MSN, ho dato ad una textbox il controllo della pressione del tasto invio, la quale pressione invia il messaggio al destinatario, il problema è che essendo in una textbox dopo la pressione di questo tasto, mi trovo nel secondo rigo, come se fossi andato a capo, ho creato una soluzione sporca, attraverso un thread parallelo che controlla quando la textbox è vuota e quindi svuota la textbox portandomi il cosiddetto "trattino lampeggiante" al primo rigo. E' possibile risolvere questo problema in un modo più pulito???
aaa
14/07/10 13:11
HeDo
Postato originariamente da oretovalley:

Ciao a tutti sto sviluppando un software di messaggistica, stile MSN, ho dato ad una textbox il controllo della pressione del tasto invio, la quale pressione invia il messaggio al destinatario, il problema è che essendo in una textbox dopo la pressione di questo tasto, mi trovo nel secondo rigo, come se fossi andato a capo, ho creato una soluzione sporca, attraverso un thread parallelo che controlla quando la textbox è vuota e quindi svuota la textbox portandomi il cosiddetto "trattino lampeggiante" al primo rigo. E' possibile risolvere questo problema in un modo più pulito???


se la textbox è multiline l'invio è un invio, quindi ti fa andare a capo.
devi scegliere un altro tasto oppure togliere il multiline.
aaa
17/07/10 7:33
Il Totem
Dato che devi usare un thread separato per controllare se il cursore è a capo, presumo che l'invio venga effettivamente ricevuto dal controllo dopo l'invio del messaggio (in cui, suppongo, tu imposti il testo a Nothing o a una stringa vuota). Questo mi fa pensare che usi un evento preventivo, come KeyDown e PreviewKeyPress, che avviene dopo la rilevazione dell'input ma prima che questo giunga al controllo. In entrambi i casi puoi usare e.Cancelled = True oppure e.RaiseKeyPress = False (o qualcosa del genere).
aaa