Italian Creare un evento unico per più view

Touch

Active Member
Licensed User
Longtime User
Ciao a tutti,
sono nuovo di questo forum e di questo linguaggio. Ho un'esperienza non professionale nel mondo del Visual Basic.
Ho un layout con una serie di editText create attraverso il designer e posizionate con il designer script. Vorrei creare un evento unico ogni volta che il testo di qualsiasi edittex cambia.
es:
B4X:
TxtGenerica_TextChanged (Old As String, New As String)

Ho cercato attraverso il forum, ma ho trovato solo un esempio relativo a controlli aggiunti a runtime.

Grazie
 

LucaMs

Expert
Licensed User
Longtime User
Ciao, ben arrivato.

Quando crei una View tramite Designer, nel momento in cui inserisci il suo nome, questo viene automaticamente copiato due righe sotto, nella proprietà EventName; questo sarà il nome degli eventi legati alla tua View.
upload_2014-8-13_14-6-32.png


Per fare in modo che diverse View abbiano in comune lo stesso nome evento, ti basta modificare quello messo di default (che nel caso dell'immagine è appunto lo stesso nome della view, cioè EditText1).

Poniamo il caso che tu abbia 3 EditText (con qualsiasi nome) e che abbia messo come Event Name "Qualcosa", nel codice potrai usare:
B4X:
Private Sub Qualcosa_TextChanged (Old As String, New As String)
    Private ET As EditText
    ET = Sender
    ' ET a questo punto si riferisce alla EditText il cui testo è stato cambiato.
End Sub
 

giannimaione

Well-Known Member
Licensed User
Longtime User
Ciao, ben arrivato.

Quando crei una View tramite Designer, nel momento in cui inserisci il suo nome, questo viene automaticamente copiato due righe sotto, nella proprietà EventName; questo sarà il nome degli eventi legati alla tua View.
View attachment 26997

Per fare in modo che diverse View abbiano in comune lo stesso nome evento, ti basta modificare quello messo di default (che nel caso dell'immagine è appunto lo stesso nome della view, cioè EditText1).

Poniamo il caso che tu abbia 3 EditText (con qualsiasi nome) e che abbia messo come Event Name "Qualcosa", nel codice potrai usare:
B4X:
Private Sub Qualcosa_TextChanged (Old As String, New As String)
    Private ET As EditText
    ET = Sender
    ' ET a questo punto si riferisce alla EditText il cui testo è stato cambiato.
End Sub
e per passare il FOCUS alla EditText successiva ????
mi spiego: come faccio a capire in quale EditText sono
normalmente si scrive EditText1.RequestFocus....
 
Top