IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Faire un saut de page e.HasMorePages = true;


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Faire un saut de page e.HasMorePages = true;
    Bonjour j'essaie de faire un saut de page, mais je bloque et la documentation est avare concernant ce sujet.

    Voici mon code pour faire un saut de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                Font myfont = new Font("Arial", 15);
     
                    e.Graphics.DrawString("page1", myfont, Brushes.Black, new Point(20, 20));            
                    e.HasMorePages = true;
                    e.Graphics.DrawString("page2" , myfont, Brushes.Black, new Point(20, 40));
                    e.HasMorePages = false;
            }
    Mais je n'ai qu'une page dans l'aperçu et page 1 et page 2 sont écrit sur la même page ?
    Nom : Capture.JPG
Affichages : 223
Taille : 31,7 Ko

    Je dois faire erreur sur l'utilisation de HasMorePages mais comment l'utiliser ?
    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut
    bonjour

    La quintessence de l'impression est que la pagination doit etre géré par vos soins:
    - nbre de pages
    - page de départ
    Ceci meme si la doc Microsoft ne le dit pas mais le sous-entend à "l'anglaise" !!
    Quant à la condition e.HasMorePages elle doit etre associé à une condition de fin d'impression :
    - un numero de page determiné
    - un nombre de page atteint ou dépassé

    exemple code behind.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            private int nbPage = 5;
            private int numPage = 0;
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                numPage = 1;
              this.printDocument1.Print();
     
            }
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                Font myfont = new Font("Arial", 15);
                string libellePage = "page" + numPage.ToString();
                e.Graphics.DrawString(libellePage, myfont, Brushes.Black, new Point(20, 20));
                e.HasMorePages = true;
                numPage++;
                if (numPage < nbPage)
                    e.HasMorePages = true;
                else
                    e.HasMorePages = false;
                // peut  etre abregée dans la ligne de code suivante:
                // e.HasMorePages = numPage < nbPage;
            }
     
     
        }
    }
    bon code...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci a vous pour votre retour.
    Effectivement j'ai bien compris il me semble le principe.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] convertir 0x0c en saut de page ?
    Par narmataru dans le forum Langage
    Réponses: 5
    Dernier message: 26/01/2005, 16h41
  2. [Rave Report] les sauts de page
    Par Isa31 dans le forum Rave
    Réponses: 4
    Dernier message: 14/10/2004, 18h51
  3. [VBA] Saut de page...
    Par _Maniak dans le forum Général VBA
    Réponses: 5
    Dernier message: 24/09/2004, 15h26
  4. Réponses: 7
    Dernier message: 05/12/2003, 10h14
  5. [Delphi6] Saut de page
    Par Seb328Ci dans le forum QuickReport
    Réponses: 1
    Dernier message: 02/10/2003, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo