Pocket pc selezionare testo textbox

giovedì 14 ottobre 2010 - 11.25
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  Windows XP  |  Visual Studio 2008

skibu Profilo | Junior Member

Ciao a tutti, sto sviluppando un'applicazione pocket pc e vorrei selezionare il testo in una textbox quando riceve il focus in modo da inserire subito il nuovo testo.
Ho provato gestendo l'evento GotFous:
textbox.SelectionStart = 0
textbox.SelectionLength = Len(textbox.Text)

ma non funziona anche usando .SelectAll()..in un'applicazione normale userei l'evento MouseClick o MouseDown ma in questo tipo di applicazione non è possibile

Mi sembra che la textbox non abbia il focus e quindi non seleziona il testo, ho provato quindi anche a impostare il focus prima di selezionare il testo ma niente

Come posso risolvere?

kataklisma Profilo | Senior Member

>Ciao a tutti,
Ciao :)

>sto sviluppando un'applicazione pocket pc e vorrei
>selezionare il testo in una textbox quando riceve il focus in
>modo da inserire subito il nuovo testo.

Nell'evento GotFocus della textbox richiama il metodo selectAll() :

tuaTextbox.SelectAll();


>ma non funziona..in un'applicazione normale userei l'evento MouseClick
>o MouseDown ma in questo tipo di applicazione non è possibile

E' possibile utilizzare qualsiasi evento, mouse, tastiera etc...

Ciao ;) fammi sapere.

Se non dovesse funzionare posta il codice perchè sicuramente c'è qualcosa che non va :)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

skibu Profilo | Junior Member

anche con .SelectAll() non funziona

kataklisma Profilo | Senior Member

>anche con .SelectAll() non funziona

E' impossibile, sei sicuro che hai creato ed assegnato un gestore evento all'evento gotfocus?Tramite debug e un breakpoint hai verificato che effettivamente la procedura entri il quel gestore evento?

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

skibu Profilo | Junior Member

sto sviluppando un'applicazione per pocket pc non una windows application

kataklisma Profilo | Senior Member

>sto sviluppando un'applicazione per pocket pc non una windows
>application

Ho capito, lo hai scritto nel primo post...il mio lavoro lo svolgo per la maggior parte su piattaforme mobile e ti dico che SelectAll() nell'evento GotFocus funziona....

Ripeto, puoi verificare che effettivamente la procedura entri nel gestore evento?

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

skibu Profilo | Junior Member

si ho provato in debug, nella procedura entra ma non funziona..come se rimuovesse la selezione del testo

sto provando con un thread separato che faccio partire quando viene generato l'evento GotFocus, vediamo se funziona

kataklisma Profilo | Senior Member

>si ho provato in debug, nella procedura entra ma non funziona..come
>se rimuovesse la selezione del testo

Puoi riportare tutto il codice che interessa quella textbox?

>sto provando con un thread separato che faccio partire quando
>viene generato l'evento GotFocus, vediamo se funziona
Non serve nessun thread separato, neanche a livello di test, probabilmente darai il focus a qualche altro controllo....se posti il codice vediamo.

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

skibu Profilo | Junior Member


Private Sub txt_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt.GotFocus
txtCambiaSfondo(sender)
txt.SelectionStart = 0
txt.SelectionLength = Len(txt.Text)
End Sub

Sub txtCambiaSfondo(ByVal sender As TextBox)
Dim sfondoAttivo As System.Drawing.Color
Dim sfondoPassivo As System.Drawing.Color
sfondoAttivo = Color.LightGreen
sfondoPassivo = Color.Black
If (sender.BackColor.ToArgb() = sfondoPassivo.ToArgb()) Then
sender.BackColor = sfondoAttivo
sender.ForeColor = Color.Black
Else
sender.BackColor = sfondoPassivo
sender.ForeColor = Color.White
End If
End Sub

la funzione txtCambiaFfondo mi serve per cambiare il colore di sfondo quando una textbox ha lo stato attivo
in debug ci passa nella procedura e mi mette il cursore nella textbox

kataklisma Profilo | Senior Member

>la funzione txtCambiaFfondo mi serve per cambiare il colore di
>sfondo quando una textbox ha lo stato attivo
>in debug ci passa nella procedura e mi mette il cursore nella
>textbox

Ora prova cosi :

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

e dimmi il risultato....
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
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