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 :

Modifier le PrinterSetting d'un PrintDialog


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Modifier le PrinterSetting d'un PrintDialog
    Bonjour

    J'essaye sans succes l'operation suivante

    Dans une classe je déclare un PrintDialog pd avec tout ce qui lui faut pour imprimer : document etc...

    Ensuite je fais un pd.ShowDialog() pour le PrinterSetup

    Je recupere unsuite ce PrinTerSetup


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
           this.ptrSet = (PrinterSettings) pd.PrinterSettings.Clone();
    Et puis j'imprime le document

    Le coup d'apres

    J'ouvre un AUTRE PrintDialog exterieur a ma classe en vue de modifier les parametres d"impression


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
          if (printer.ptrSet != null)
          {
            PrintDialog pd = new PrintDialog();
            pd.ShowDialog();
            printer.ptrSet = null;
            printer.ptrSet = (PrinterSettings)pd.PrinterSettings.Clone();
          }
    Tout va bien ce nouveau (PrinterSettings) contient bien ce que je lui ai demandé : changer nombre de page et couleur d'impression

    Dans ma classe je reassigne le nouveau PrinterSettings au printdialog nouvellement créé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
         if (this.ptrSet != null)
          {
            pd.Reset();
            pd.PrinterSettings = new PrinterSettings();
            pd.PrinterSettings = this.ptrSet;
            SetupPrint(pd);
            printDoc.Print();
          }
          else if (DialogResult.OK == pd.ShowDialog())
          {
            SetupPrint(pd);
            printDoc.Print();
            this.ptrSet = (PrinterSettings) pd.PrinterSettings.Clone();
          }
    Avec le DEBUG je verifie que le pd.PrinterSettings contient bien les seting demandé : OUI

    Mais tout se passe avec les settings du premier coup comme si je n'avais rien changé ???

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour

    Pour ceux que ca intéresse, j'ai encore chipoté dans ce bingz

    Une chose délicate en partie source de mes problèmes c'est que nous pouvons avoir DEUX printersetting

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PrintDialog.PrinterSetting
    PrintDialog.Document.PrinterSetting
    J'essaye actuellement de bien comprendre comment ce couple cohabite !

Discussions similaires

  1. Utilisation de PrintDialog et PrinterSettings
    Par Damran dans le forum VB.NET
    Réponses: 1
    Dernier message: 02/04/2009, 08h04
  2. Réponses: 5
    Dernier message: 27/11/2002, 14h08
  3. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49
  4. [VB6] [MDI] Modifier form en MDIform
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/09/2002, 13h48
  5. Réponses: 5
    Dernier message: 06/08/2002, 20h08

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