albepisti ha scritto:
è un semplice programmino nel quale chiedo di imputare quante etichette stampare e a partire da quale numero.
Ok, però avere il codice opportunamente formattato sarebbe d'aiuto per comprendere meglio la logica che hai scritto, ma dato che non l'hai messo ho provveduto io incollandolo nel mio editor.
albepisti ha scritto:
Mi piacerebbe che fossero generate tante pagine quanto è la quantità imputata, però incrementata:
se parto da 1 e voglio 4 etichette, verranno emesse 4 pagine ognuna con numero incrementale a partire da 1 (una etichetta col nr. 1, una etichetta col nr.2, ecc.)
il programma così come è scritto funziona senza errori, ma genera quattro pagine con il medesimo nr.
Diciamo che se l'obiettivo è scrivere quattro pagine numerate progressivamente, stando a quello che dici, e invece il programma riporta lo stesso per tutte, allora
non funziona.
albepisti ha scritto:
altre prove precedentemente fatte generano pagine con numeri sovrapposti (forse perchè ho fatto girare l'incremento all'interno del printdocument)
è chiaro che manca qualcosa ma ancora non capisco dove sbaglio
Ho visto che fai uso del componente
PrintDocument: hai dato un'occhiata alla
documentazione ufficiale prima di iniziare ad adoperarlo?
Andare per tentativi può essere una strada, ma spesso non porta al risultato desiderato e quando non si ottengono gli effetti voluti, è necessario fermarsi un momento e fare un passo indietro, leggendo come prima cosa la documentazione: essa contiene anche degli esempi, come in questo caso, che mostrano l'uso corretto e fanno capire prima di subito gli eventuali errori commessi.
Ad esempio, vedo che hai impostato la proprietà
PrinterSettings.Copies: la
relativa documentazione dice che "imposta il numero di copie del documento da stampare", quindi se tu scrivi:
printDocument1.PrinterSettings.Copies = (short)copie;
dove "copie" ha il valore di 4, otterrai 4 copie identiche dello stesso documento, ovvero 4 copie del documento che è apparentemente formato da una sola pagina, con una sola etichetta.
E ancora, devi analizzare l'esempio della documentazione e gestire correttamente la proprietà
HasMorePages dell'oggetto che viene passato all'
evento PrintPage, indicando quando è necessario produrre una nuova pagina, altrimenti lo "stampatore" si ferma di conseguenza.
Ciao!