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 :

Imprimer tout le contenu d'un form c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut Imprimer tout le contenu d'un form c#
    Bonjour,

    En C#, j'ai un form avec différentes images dessus.
    Je souhaites imprimer le form et toutes les images.
    j'arrive à imprimer les images qui sont visibles sur l'écran mais pas celles qui sont en bas du form et donc qui n'apparaissent pas à l'écran.

    J'utilise le code proposé par MSDN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      public void CaptureScreen()
            {
                Graphics myGraphics =this.CreateGraphics();
                Size s = this.Size;
                memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
                Graphics memoryGraphics = Graphics.FromImage(memoryImage);
                memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
            }
     
            public void printDocument1_PrintPage(System.Object sender,
                   System.Drawing.Printing.PrintPageEventArgs e)
            {
    Si quelqu'un a une idée ça m'aiderait.
    Si au lieu d'imprimer ça me crée un PDF c'est également bon.

    Merci d'avance pour vos indications et vos idées.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par défaut
    Regarde plutôt du côté de Control.DrawToBitmap pour obtenir l'image complète de ta Form.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    Merci pour votre conseil.

    Mais ça ne semble pas marcher mieux. Est-ce bien ainsi qu'il faut utiliser la fonction proposée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public void CaptureScreen()
            {
               lim = new Bitmap(this.Width, this.Height);
     
     
               this.DrawToBitmap(lim,(new Rectangle(0, 0, this.Width, this.Height)));
    En faisant ainsi, je n'ai toujours pas les images qui sont non visibles car trop bas que pour être à l'écran.
    Si vous avez un autre conseil, je suis preneur.

    Encore merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    En mettant un panel sur le form et en imprimant l'image du panel, ça me donne déjà plus d'images.
    Mais dès que mon label dépasse la taille d'une page, le reste des images ne s'imprime plus.
    Quelqu'un a une idée pour que ça imprime sur plusieurs pages?

    merci d'avance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    Je résume pour toutes personnes qui se retrouve confronté à une situation identique:

    un form ne permet pas de copier l'image du graphique qui n'apparait pas à l'écran.
    De plus c'est difficile d'obtenir un form plus grand que la résolution de l'écran.

    La solution est donc de créer un panel et d'y mettre dessus tous les éléments que l'on souhaite imprimer.
    Le panel permet d'obtenir toute l'image de son graphique même ce qui n'apparait pas à l'écran.

    Il faut ensuite soit veiller à ce que le panel ne soit pas plus grand qu'une feuille ou on peut utiliser plusieurs panels.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2014, 15h27
  2. Comment imprimer tout le contenu d'un datagridview ?
    Par olman50 dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/06/2010, 09h32
  3. Changez tout le contenu d'une form
    Par Monsieur L. dans le forum C#
    Réponses: 3
    Dernier message: 02/06/2010, 09h38
  4. Imprimer le contenu d'une form
    Par olibara dans le forum C#
    Réponses: 7
    Dernier message: 18/05/2008, 21h04
  5. COmment imprimer tout le contenu de la JTable
    Par L4BiN dans le forum Composants
    Réponses: 1
    Dernier message: 04/08/2006, 10h20

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