if (PosY >= e.MarginBounds.Bottom) // Fin de page atteinte e.HasMorePages = true; // Changement de page
if (PosY >= e.MarginBounds.Bottom) // Fin de page atteinte { e.HasMorePages = true; // Changement de page PosY = e.PageSettings.Margins.Top; // Position Y en haut de page }
private void PrtDoc_PrintPage(object sender, PrintPageEventArgs e) { List<PrintLine> Printed = new List<PrintLine>(); try { PageNum++; PrintHeader(e); // Impression de l'entête de page PosY = e.PageSettings.Margins.Top; // Position courante en Y foreach (PrintLine Line in Lines) { PrintOneLine(Line, e); // Impression d'une ligne et incrémentation de PosY Printed.Add(Line); // Mémorisation de la ligne écrite if (PosY >= e.MarginBounds.Bottom) // Fin de page atteinte break; // fin de page } PrintFooter(e); // Impression du pied de page // On retire de la liste des lignes celles qui viennent d'être imprimées foreach (PrintLine Line in Printed) Lines.Remove(Line); // Reste-t-il des lignes pour une page suivante à imprimer e.HasMorePages = (Lines.Count > 0); // si oui HasMorePages = true } catch (Exception ex) { ErrorHandling.TraiteErreur(ex, "Page en cours : " + PageNum); NoErr = false; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question