Non lo so, non sono espertissimo ma mi sembra che negli esempi dello ScrollView in cui viene usato per visualizzare tanti record di una tabella sqlite abbiano sempre lo stesso nome, in questo modo l'evento che si attiva al click o al touch è sempre lo stesso.
Tornando al problema di fondo,probabilmente sto utilizzando il metodo o l'oggetto sbagliato. In pratica voglio realizzare un funzionamento analogo al desktop di android in cui facendo scroll sulle pagine se il movimento non è almeno la metà dell'asse x resti centrato nella pagina attuale oppure si centra automaticamente su quella successiva. Se osservi l'automatismo si innesca quando alzo il dito, ma nel mio caso l'UP lo fa solo dopo un DOWN e mai dopo un MOVE, quindi diventa quasi un CLICK
Affinché due view qualunque intercettino il medesimo evento, devi inizializzarle con lo stesso nome evento.
Questo puoi farlo nel Designer oppure da codice.
Per esempio:
pnlQualcosa.Initialize("NomeEvento")
pnlDiverso.Initialize("NomeEvento")
Poi nell'evento (click, ad esempio) usi il Sender che non sapevi se usare o no:
Sub NomeEvento_Click
Dim pnlGenerico As Panel = Sender
...
End Sub
A quel punto, il pnlGenerico è come se diventasse il pannello stesso che ha generato l'evento, quindi pnlQualcosa se hai fatto click su questo, oppure pnlDiverso.
Dico è come se diventasse perché in realtà sia pnlGenerico che pnlQualcosa (se hai clickato su questo) PUNTANO allo stesso oggetto in memoria.
Il discorso di Android, scorrimento, etc.
A parte la faccenda della metà del pannello, che ho capito, il problema è che se poi metti, come è ovvio, delle view sui pannelli, per far scorrere il pannello dovrai "trascinare" proprio il pannello; cioè se tocchi una view e trascini il dito su quella con l'intenzione di trascinare tutto il pannello, non ti funzionerà.
Come risolvere... dato che non l'ho ancora fatto, lascio il piacere a
@udg