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é ???