Torna al Thread
private List<string> righe = new List<string>();
private int righe_per_pagina = 10;
private int righe_stampate = 0;
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100; i++)
righe.Add(i.ToString());
PrintDocument doc = new PrintDocument();
doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
doc.Print();
}
void doc_PrintPage(object sender, PrintPageEventArgs e)
{
int index=0;
int y = 0;
do
{
e.Graphics.DrawString(righe[righe_stampate], new Font("Arial", 8), new SolidBrush(Color.Black), new PointF(20, y));
index++;
righe_stampate++;
y += 20;
} while (index < righe_per_pagina);
if (righe_stampate<righe.Count)
e.HasMorePages = true;
else
e.HasMorePages = false;
}