Conflitto tra tasto Invio su textbox multilinea e Me.Accept Button

mercoledì 12 maggio 2010 - 00.00

nikkysixx Profilo | Junior Member

Ciao a tutti, ho un problema(la cui risoluzione sarà semplice ma che mi sfugge) che è classificato come un eccezione nella documentazione di vb.net

http://msdn.microsoft.com/it-it/library/aa984346%28VS.71%29.aspx

Identico caso della documentazione.In pratica ho associato a una determinata funzione la pressione del tasto invio.
Parallelamente ho una textbox multilinea chiamata NOTE in cui l utente puo andare a capo nell inserire dati. Da qui il problema in quanto la pressione dell invio chiama la funzione oltre ad andare a capo

Al che ho pensato una risoluzione di questo tipo

Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox21.GotFocus
Me.AcceptButton = valore nullo (???)
End Sub

Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
Me.AcceptButton = my_button
End Sub

ma non saprei come fare a impostare un valore di default/nullo a me.acceptbutton

Ma sopratutto ha senso?
Vi ringrazio come sempre

luxsor Profilo | Guru

Ciao Nikki,

>In pratica ho associato a
>una determinata funzione la pressione del tasto invio.
Quindi intercetti l'evento KEYDOWN o KEYPRESS della TextBox Note?

Non ho capito bene quello che vorresti fare?

Facci sapere



------------------------
Luxsor

nikkysixx Profilo | Junior Member

"L'unica eccezione si verifica se lo stato attivo è detenuto da un controllo che è a sua volta un pulsante (in tal caso verrà scelto quest'ultimo), una casella di testo a più righe oppure un controllo che intercetta il tasto INVIO. "

Ciao e grazie ancora,l errore è proprio questo, e non so proprio come gestirlo, sono a digiuno di eventi chiedo venia :D

riassumo in breve con un esempio simile.C è una funzione che apre una msgbox, tale funzione viene richiamata in automatico premendo invio con Me.AcceptButton = my_button (bottone associato alla funzione che apre la msgbox). Nello stesso form è presente un campo textbox multiline e vorrei che se andassi a capo, non partisse in automatico la funzione precedente,ma che fosse temporaneamente bloccata finchè il focus rimane sulla textbox

spero sia un po'piu chiaro

nico839 Profilo | Senior Member

ciao...settare una variabile boolean a true o false negli eventi leave ed enter della text box e testarla nella funzione chiamata col tasto invio?una specie di enable....non potrebbe andare?

nikkysixx Profilo | Junior Member

Ciao a tutti,la soluzione era piu semplice di quanto pensassi (e ringrazio un utente di un altro forum)
Basta impostare la proprieta' AcceptReturn della textbox in questione a true :)
Grazie cmq
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5