Davvero tutti molto gentili e molto utili i vostri consigli.
Vi ringrazio.
Non essendo un programmatore esperto non ho potuto usare la tecnica 'multithreading' ma la dritta sul DoEvents e quella sul pulsante Cancel mi hanno accesso una lampadina e ho fatto semplicemente così:
While myReader.Read()
Application.DoEvents()
articoloRilevato = myReader.GetInt32(0)
'.....
End While
Non noto neppure rallentamenti significativi. Dal momento che è un form di dialogo sono presenti il pulsante OK e Cancel, l'aggiunta dell'istruzione 'Application.DoEvents' mi da finalmente la possibilità di attendere la pressione del pulsante Cancel (o ESC), e il gioco è fatto. Senza quella istruzione il programma si isolava fino al termine del ciclo While.
Mi scuso con Marco Breveglieri e lo ringrazio; il linguaggio è Visual Basic sto usando Visual Studio 2008, pensavo che fosse un forum solo di Visual Basic. Prossimamente specificherò.
Cari saluti a tutti.

Rispondi quotando