no non serve il codice.
Puoi fare in questo modo:
nella tua form fuori da ogni metodo dichiarati una variabile di tipo booleana:
bool _stopPrint = false;
Nella tua form aggiungi un bottone per lo stop e nell'evento click ci metti:
_stopPrint = true;
poi sul click del tuo bottone di stampa fai questo:
Praticamente fai in questo modo:
quando avvii la stampa metti la tua variabile booleana a false in modo che il cliclo while parte e rimane attivo fino a che la variabile booleana resta a false.
Alla prima iterazione ti invia in stampa i dati poi dopo incrementa il valore ed aspetta 2 secondi prima di ripetere il ciclo (ho messo due secondi per dare il tempo materiale di poter premere il bottone di Stop. Poi se vui puoi cambiare il valore agendo su Thread.Sleep(2000) in cui il valore è in millisecondi)
Quando premi il bottone Stop, la variabile booleana viene messa a true e il ciclo while si ferma.
Cristian Barca