Séléction des imprimantes dans la mise en page [Résolu]

hanadakia 33 Messages postés mercredi 21 mai 2014Date d'inscription 18 décembre 2017 Dernière intervention - 13 nov. 2017 à 17:15 - Dernière réponse : hanadakia 33 Messages postés mercredi 21 mai 2014Date d'inscription 18 décembre 2017 Dernière intervention
- 14 nov. 2017 à 15:15
Bonjour tout le monde,



Voici le code qui m'affiche ce formulaire. Maintenant je veux ajouter le combo qui contient les noms des imprimantes
Dim pgprint As PageSettings
pgprint = New PageSettings()
Dim configprint As PrinterSettings
configprint = New PrinterSettings()
dlgpgsetup.PageSettings() = pgprint
dlgpgsetup.AllowPrinter = True
dlgpgsetup.PrinterSettings = configprint
dlgpgsetup.ShowDialog()


EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


Merci d'avance
Afficher la suite 

9 réponses

Répondre au sujet
Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 17:50
0
Utile
Bonjour
c'est quoi dlgpgsetup?

Commenter la réponse de Whismeril
hanadakia 33 Messages postés mercredi 21 mai 2014Date d'inscription 18 décembre 2017 Dernière intervention - 13 nov. 2017 à 17:55
0
Utile
c'est un contrôle pageSetupDialog que j'ai ajouté au formulaire
Commenter la réponse de hanadakia
cs_Le Pivert 4831 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 18:07
0
Utile
6
Bonjour,

comme ceci:

Imports System.Drawing.Printing
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        For i = 0 To PrinterSettings.InstalledPrinters.Count - 1
            ComboBox1.Items.Add(PrinterSettings.InstalledPrinters.Item(i))
            ComboBox1.SelectedIndex = 0
        Next
    End Sub
End Class

Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 19:39
Tu ne peux c’est un formulaire windows.
Si tu veux un formulaire avec ce combobox, à toi de l'écrire entièrement
cs_Le Pivert 4831 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention > Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 19:54
Salut Whismeril,

cela existe d'une autre manière avec un bouton supplémentaire, mais le code donné ne fonctionne pas!

Voir page 12 du PDF:

http://docplayer.fr/13029621-Imprimer-avec-vb-net-2005-1-introduction-3-concepts-generaux-3.html
Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention > cs_Le Pivert 4831 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 20:31
Oui, mais on reste bien dans les formulaires de windows.

Pour le code, c'est du VB 2005, ça a du changer depuis.
J'y jette un oeil.
Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention > Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 13 nov. 2017 à 20:53
Il semble qu'à l'époque de la sortie de Vista, les développeurs Microsoft aient décidé que ce formulaire ne donnait plus accès au choix des imprimantes.
Il faut utiliser un PrintDialog

        Dim Doc As New PrintDocument
        Dim PageSetup As New PrintDialog

        With PageSetup
            .AllowSomePages = True
            .Document = Doc
            .ShowDialog()
        End With


        With Me.TextBox6
            .Text = Doc.PrinterSettings.PrinterName & Environment.NewLine
            .Text = .Text & "Nb de copies : " & Doc.PrinterSettings.Copies.ToString & Environment.NewLine
            .Text = .Text & "Assemblées : " & Doc.PrinterSettings.Collate.ToString & Environment.NewLine
            .Text = .Text & "Couleur : " & Doc.DefaultPageSettings.Color.ToString & Environment.NewLine
            .Text = .Text & "Orientation : " & If(Doc.DefaultPageSettings.Landscape, "Paysage", "Portrait") & Environment.NewLine
            .Text = .Text & "Format : " & Doc.DefaultPageSettings.PaperSize.ToString & Environment.NewLine
        End With


Source
https://social.msdn.microsoft.com/Forums/windows/en-US/29b17b85-3c33-4eb1-9a8c-84f1360f7347/pagesetupdialogallowprinter-true-not-work-in-windows-vista?forum=winforms
hanadakia 33 Messages postés mercredi 21 mai 2014Date d'inscription 18 décembre 2017 Dernière intervention > Whismeril 10835 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 janvier 2018 Dernière intervention - 14 nov. 2017 à 15:15
C'est ce que j'ai fait au final. Je l'ai écrit entièrement.
Merci beaucoup pour vos réponses.
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.