Просто следите за номером страницы.Вы устанавливаете его в 0 в событии BeginPrint и увеличиваете его каждый раз, когда вызывается PrintPage.Как это:
int pageNumber;
private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
pageNumber = 0;
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) {
++pageNumber;
e.HasMorePages = true;
switch (pageNumber) {
case 1: printa(e); break;
case 2: printb(e); break;
case 3: printc(e); e.HasMorePages = false; break;
}
}