Non c'è nessun segreto, il programma è un sistema di comande per un ristorante, i camerieri non devono perdere tempo con messaggi di errore e digitazioni sbagliate, più veloce e semplice possibile.
a prova di idiota, col rispetto per la categoria.
Per farVi capire con chi si ha a che fare, l'intenzione iniziale era quella di utilizzare dei monitor touch...Causa le unghie lunghe, le ragazze avevano difficoltà nell'utilizzare il touch, ho dovuto mettere mouse + tastiera.
Quando mi hanno presentato l'anomalia del messaggio di errore per caratteri non compresi nella lista, ho risposto che è sufficiente non scrivere nulla nella combo ma SEMPLICEMENTE utilizzare i valori della tendina.
Ecco. Ora è tutto molto più chiaro. Effettivamente anche per me è la soluzione più giusta, quella di far scegliere solo dalla tendina.
Non ho provato Before ma ho provato NotInList, dati i valori della lista S1, S2 Sn, se digito S parte l'elaborazione per il valore IN Lista di S1
Faccio comunque una prova con Before anche se dall'esempio pubblicato mi sembra che con due righe ho risolto il problema.
L'ho testato anche io. Spostando il codice da te scritto da after a before. Sembra funzionare esattamente nella stessa maniera.
Poi bisogna vedere cosa accade con gli utenti veri e propri, che di solito compiono azioni ben diverse da chi programma.
C'è da dire che Alex ha ragione, perchè su before, puoi gestire anche l'annullamento di altri eventi in caso di problematiche dovute a questo sistema. Mentre su after, quello che è fatto è fatto. Una volta che il codice è partito, non hai modo di bloccarlo.
A questo punto ti suggerisco una modifica. Aprire la tendina anche cliccando sulla combo e non solo sulla freccia.
Ma... ora come ora, non saprei come procedere. Non ricordo se c'è un metodo della combobox da poter usare.