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

VB.NET Discussion :

Comment imprimer en mode paysage ?


Sujet :

VB.NET

  1. #1
    Inactif
    Homme Profil pro
    Auteur logiciels et romans
    Inscrit en
    Février 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auteur logiciels et romans
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2009
    Messages : 203
    Points : 132
    Points
    132
    Par défaut Comment imprimer en mode paysage ?
    Bonjour,

    Je viens de regarder le tutoriel de Philippe Lasserre, mais ça ne m'avance guère, faute de bien maîtriser l'objet graphique, l'impression.
    Je n'arrive pas à mettre en oeuvre l'exemple, voici mon code, enfin, celui que l'on m'a grandement aidé à faire, tout y est, ça imprime du texte, j'aurais juste besoin qu'on me rajoute les directives nécessaires pour le mettre en mode paysage (je joins aussi mes fichier, c'est du vbNet 10) :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Option Explicit On
    Public Class Form1
    Dim i As Integer = 0
     
    Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     ListBox1.Items.Clear() ' chargement
     ListBox1.Items.Add("Maître Corbeau sur un arbre perché,")
     ListBox1.Items.Add("tenait don son bec un fromage.")
     ListBox1.Items.Add("Maître Renard par l'odeur alléché,")
     ListBox1.Items.Add("lui tint à peu près ce langage:")
     ListBox1.Items.Add("Eh bonjour Monsieur du Corbeau,")
     ListBox1.Items.Add("que vous êtes joli, que vous me semblez beau;")
     ListBox1.Items.Add("Sans mentir,")
     ListBox1.Items.Add("si votre ramage se rapporte à votre plumage,")
     ListBox1.Items.Add("vous êtes le phoenix des hôtes de ces bois.")
     ListBox1.Items.Add("A ces mots le corbeau ne se sent pas de joie,")
     ListBox1.Items.Add("et pour montrer sa belle voix,")
     ListBox1.Items.Add("il ouvre un large bec laisse tomber sa proie.")
     ListBox1.Items.Add("Le renard s'en saisit et dit: ")
     ListBox1.Items.Add("Mon bon Monsieur, apprenez que tout flatteur")
     ListBox1.Items.Add("vit aux dépends de celui qui l'écoute,")
     ListBox1.Items.Add("cette leçon vaut bien un fromage sans doute. ")
     ListBox1.Items.Add(" ")
     ListBox1.Items.Add("Alignement couRier new 12 normal")
     ListBox1.Items.Add("123")
     ListBox1.Items.Add("abc")
     ListBox1.Items.Add("DEF")
    End Sub
     
    Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     i = 0
     Me.PrintPreviewControl1.Zoom = 0.75	 ' zoom
     Me.PrintPreviewControl1.Rows = 4 'nb pages vues en apercu (calcul...)
     Me.PrintPreviewControl1.Document = Me.PrintDocument1
    End Sub
     
    Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     Dim r As String = MsgBox("Imprimer sur PAPIER", vbQuestion + vbYesNo +  vbDefaultButton2)
     If r <> vbYes Then Exit Sub
     Me.PrintDocument1.Print()
    End Sub
     
    Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
     Dim police As New Font("Courier New", 12, FontStyle.Regular)
     Dim yPos As Integer = 10 ' pixels
     Do While i <= ListBox1.Items.Count - 1
      e.Graphics.DrawString(ListBox1.Items(i), police, Brushes.Black, 10, yPos)
      Select Case i
       Case 3, 6, 9
        e.HasMorePages = True	' saut de page
        i = i + 1
        Return ' retour saut de page
      End Select
      yPos = yPos + police.GetHeight
      i = i + 1
     Loop
    End Sub
     
    End Class
    Merci beaucoup.
    .
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim PageSetupDialog As New PageSetupDialog()
    PageSetupDialog.Document = PrintDocument1
    PageSetupDialog.PageSettings.Landscape = True

  3. #3
    Inactif
    Homme Profil pro
    Auteur logiciels et romans
    Inscrit en
    Février 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auteur logiciels et romans
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2009
    Messages : 203
    Points : 132
    Points
    132
    Par défaut Réponse à Tiny, suite
    Citation Envoyé par asmduty Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim PageSetupDialog As New PageSetupDialog()
    PageSetupDialog.Document = PrintDocument1
    PageSetupDialog.PageSettings.Landscape = True
    Bonjour Tony,

    Merci, j'ai rajouté l'objet PageSetupDialog
    Mais le code je le mets à quel niveau par rapport à mes deux boutons (visualisation et impression), ah ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim PageSetupDialog As New PageSetupDialog()
    PageSetupDialog.Document = PrintDocument1
    PageSetupDialog.PageSettings.Landscape = True
    Merci .
    .

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Pardon c'est vrai que ce n'était pas clair.
    Voilà dans quel context je m'en étais servis pour info : http://www.developpez.net/forums/d10...l/#post5893126

    Donc il faut que tu le places derrière ton bouton impression, avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PrintDocument1.Print()

  5. #5
    Inactif
    Homme Profil pro
    Auteur logiciels et romans
    Inscrit en
    Février 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auteur logiciels et romans
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2009
    Messages : 203
    Points : 132
    Points
    132
    Par défaut Réponse à Tony
    Citation Envoyé par asmduty Voir le message
    Pardon c'est vrai que ce n'était pas clair.
    Donc il faut que tu le places derrière ton bouton impression, avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PrintDocument1.Print()

    Bonjour Tony,

    Magnifique, ça c'est du code, ça fonctionne à la perfection, bravo et merci mille fois, voici le code :

    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
    45
    46
    47
    Option Explicit On
    Public Class Form1
    Dim i As Integer = 0
    
    Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     i = 0
     PrintPreviewControl1.Zoom = 0.5		' zoom
     PrintPreviewControl1.Rows = 4	'nb pages vues en apercu (calcul...)
    
     Dim PageSetupDialog As New PageSetupDialog()
     PageSetupDialog.Document = PrintDocument1
     PageSetupDialog.PageSettings.Landscape = True	' paysage
     'PageSetupDialog.PageSettings.Landscape = True	' portrait
     
     PrintPreviewControl1.Document = PrintDocument1
    End Sub
    
    Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     Dim r As String = MsgBox("Imprimer sur PAPIER", vbQuestion + vbYesNo + vbDefaultButton2)
     If r <> vbYes Then Exit Sub
     i = 0
     
     Dim PageSetupDialog As New PageSetupDialog()
     PageSetupDialog.Document = PrintDocument1
     PageSetupDialog.PageSettings.Landscape = True
     'PageSetupDialog.PageSettings.Landscape = True	' portrait
     
     PrintDocument1.Print()
    End Sub
    
    Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
     Dim police As New Font("Courier New", 12, FontStyle.Regular)
     Dim yPos As Integer = 10 ' pixels
     Do While i <= ListBox1.Items.Count - 1
      e.Graphics.DrawString(ListBox1.Items(i), police, Brushes.Black, 10, yPos)
      Select Case i
       Case 3, 6, 9
        e.HasMorePages = True	' saut de page
        i = i + 1
        Return ' retour saut de page
      End Select
      yPos = yPos + police.GetHeight
      i = i + 1
     Loop
    End Sub
    End Class
    .
    Merci encore
    .

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    De rien, je n'avais même pas pensé qu'il fallait aussi que tu le mettes dans ton aperçu pour avoir l'aperçu en mode paysage ...
    Bonne continuation.

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

Discussions similaires

  1. imprimer en mode paysage
    Par cpf2006 dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2010, 12h30
  2. Powepoint : comment imprimer en mode commentaire
    Par faty_mac dans le forum Powerpoint
    Réponses: 1
    Dernier message: 11/05/2007, 17h15
  3. imprimer en mode paysage?
    Par amarcil dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/04/2006, 09h31
  4. [Javascript] imprimer en mode paysage?
    Par amarcil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2006, 19h10
  5. imprimer formulaire mode paysage
    Par LeScandinave dans le forum Contribuez
    Réponses: 11
    Dernier message: 16/03/2006, 10h21

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