Con Gambas ho imparato a non fidarmi dell'istruzione
SetFocus che in VB funzionava perfettamente.
A causa di errori operativi riscontrati all'interno di una FormXX.class, mi sono deciso a rivedere il codice scritto a suo tempo e modificarlo radicalmente, nella speranza di ottenere un funzionamento sempre corretto.
La Form in questione gestisce alcune ComboBox che sono viste come Groups. Ciò determina l'impossibilità di sapere quale delle diverse ComboBox abbia il Focus. In determinate condizioni raggiunte durante la digitazione, la sequenza naturale delle istruzioni dovrebbe interrompersi per riprendere dal GotFocus della ComboBox appena lascita. Infatti la necessità di tornare alla ComboBox precedente può essere intercettata solamente all'interno dell'evento LostFocus della stessa, cioè soltanto dopo che la ComboBox precedente non è più attiva.. Non potendo a tal punto utilizzare in maniera semplice il SetFocus, l'unica strada percorribile diventerebbe, a mio avviso, quella di simulare la pressione della combinazione di tasti [shift+ backtab]. Ho dato una rapida lettura
qui, ma non ho capito come ottenere il CHR corrispondente alla Key.BackTab. Ho tentato allora di provare la seguente istruzione:
Desktop.SendKeys(Key.BackTab)
L'istruzione è stata eseguita apparentemente bene, però il Focus non è tornato alla ComboBox precdente, contrariamente a quanto sperato. Infatti si è spostato comunque alla ComboBox immediatamente successiva.
Sono, pertanto. ahimè, costretto a vestire i panni del principiante per ottenere eventuali suggerimenti in merito al mio imprevedibile problema.