2009-04-30 13 views
0

Excelコントロールとその他のグリッドコントロールを埋め込んだユーザーコントロール(c#)があります。このユーザーコントロールはフォーム内にあります。フォームを印刷する必要がありますが、DevExpress Xtrareportでは埋め込みExcelワークシートがサポートされていないことがわかりました。ワークシートを個別に印刷することはできますが、Excelワークシートだけでなくフォーム全体を印刷する必要があります。どのように私はそれについて行くことができますか?C#のExcelユーザーコントロールを埋め込みました

答えて

0

ここでは、すばやく、汚れた印刷拡張メソッドがあります。フォームとそれ以外のすべてをスケーリングするためにできることはもっとたくさんありますが、これはあなたを始めるはずです。このメソッドはフォームをそのまま、ユーザーが見ることができるように印刷します。

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

フォームを印刷すると、Excelワークシートが埋め込まれません。あなたが知っている理由は何ですか? –

+0

それはフォームに表示されますが、 –

+0

私は決してコントロールを使用していないので、なぜそれが起こるのか分かりません。多分、そのコントロールをメモリ内のビットマップに描画させて、それをフォームのビットマップに描画できるかどうかを調べることができます。 – BFree

関連する問題