2009-04-30 7 views
0

J'ai un contrôle utilisateur (en C#) avec une feuille de calcul Excel intégrée et d'autres contrôles de grille. J'ai ce contrôle d'utilisateur dans un formulaire. J'ai besoin d'imprimer le formulaire, mais j'ai trouvé que la feuille de calcul Excel intégrée n'est pas supportée dans DevExpress Xtrareport. Je peux imprimer la feuille de calcul Excel séparément, mais j'ai besoin d'imprimer le formulaire entier, pas seulement cette feuille de calcul Excel. Comment puis-je y aller?Contrôle d'utilisateur Excel intégré en C#

Répondre

0

Voici une méthode d'extension rapide et sale. Il y a beaucoup plus que ce que vous pouvez faire pour mettre à l'échelle le formulaire et tout ça, mais cela devrait vous aider à démarrer. Cette méthode imprimera le formulaire tel quel et tel qu'il est visible pour l'utilisateur.

public static class FormExtensions 
    { 
     public static void PrintForm(this Form f) 
     { 
      PrintDocument document = new PrintDocument(); 
      document.PrintPage += (o, e) => 
      { 
       Bitmap image = new Bitmap(f.Width, f.Height); 
       f.DrawToBitmap(image, e.PageBounds); 
       e.Graphics.DrawImage(image, new Point(0, 0)); 
      }; 
      document.Print(); 
     } 
    } 
+0

Lorsque j'imprime la feuille de calcul Excel Form Form n'apparaît pas. Pour quelle raison connaissez-vous? –

+0

Il montre sur le formulaire si –

+0

Je n'ai jamais utilisé le contrôle, donc je ne sais pas pourquoi cela se produirait. Vous pouvez essayer de voir si peut-être vous pouvez obtenir ce contrôle dessiné à un bitmap en mémoire, et dessiner cela sur le bitmap du formulaire. – BFree