Gambas-it

Gambas3 => Programmazione => Topic aperto da: tornu - 26 Aprile 2016, 21:17:15

Titolo: [RISOLTO] Problema TextBox.Select
Inserito da: tornu - 26 Aprile 2016, 21:17:15
Buonasera a tutti,
ho neccessità che nella routine TextBox1_MouseDown() venga selezionato
l'eventuale testo contenuto, questo il codice che stò testando:
Codice: [Seleziona]
' Gambas class file

Public Sub _new()

End

Public Sub Form_Open()

End

Public Sub TextBox1_MouseDown()
  TextBox1.Alignment = 1
'   TextBox1.SelectAll()  ' *** Non funziona ***
  TextBox1.Select(0, Len(TextBox1.Text))  ' *** Non funziona   ***
End

Public Sub TextBox1_KeyPress()
  Dim s As String

  s = TextBox1.Text

  Select Key.code
    Case Key.Enter, Key.Return
      TextBox1.Text = Left(s, TextBox1.Pos)
      TextBox1.Alignment = 2
  End Select
End

Public Sub TextBox1_Activate()
  TextBox2.Text = TextBox1.Text
End
Se non dico cavolate le due istruzioni (una commentata), che ho inserito,
dovrebbero sortire lo stesso effetto, ma alla prova pratica così non è, non
viene selezionato nessun testo.
Che c'è di sbagliato in quelle istruzioni?
Titolo: Re:Problema TextBox.Select
Inserito da: Gianluigi - 26 Aprile 2016, 22:06:06
Forse non ho capito, ma hai provato a cambiare in MouseUp?

 :ciao:
Titolo: Re:Problema TextBox.Select
Inserito da: tornu - 26 Aprile 2016, 22:46:23
Forse non ho capito, ma hai provato a cambiare in MouseUp?

 :ciao:

Ciao Gianluigi,
funziona perfettamente.
Per cercare di capirci sempre qualcosa in più, mi spieghi che caspita di differenza c'è ?
Grazie
Titolo: Re:Problema TextBox.Select
Inserito da: Gianluigi - 26 Aprile 2016, 23:06:03
...
Per cercare di capirci sempre qualcosa in più, mi spieghi che caspita di differenza c'è ?

Ciao Tornu,
ti dico quello che io penso, credo sia dovuto al fatto che quando ci si inserisce, si toglie il focus.
Infatti se tu entri in una textbox  già selezionata vedi che appena ci clicchi (tasto mouse giù) il focus sparisce.
Penso serva per la posizione dell'inserimento altrimenti ci sarebbero dei problemi, per esempio cancelleresti tutta la frase e non solo la lettera dopo o prima il cursore ecc.
Insomma quello del clic è il comportamento di base e se lo si vuole forzare occorre lavorare sul ritorno (MouseUp).
... forse.
 :ciao:
Titolo: Re:Problema TextBox.Select
Inserito da: vuott - 26 Aprile 2016, 23:56:15
...hai provato a cambiare in MouseUp?
Effettivamente con l'evento MouseUp() l'effetto della selezione viene 'conservato'.

Se non c'è una qualche ragione speciale per dover usare l'evento _MouseDown(), credo che l'evento _MouseUp() possa andare bene, essendo analogo all'evento _Click() degli oggetti che lo supportano.   (http://forum.ubuntu-it.org/images/smilies/sisi.gif)
Titolo: Re:[RISOLTO] Problema TextBox.Select
Inserito da: tornu - 28 Aprile 2016, 20:51:22
Grazie, per le spiegazioni  :ciao: