|
■No89722 (魔界の仮面弁士 さん) に返信 > ■No89719 (ASIA さん) に返信 >>PageSettingsで下記のように実装してみました。 >>System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings(); > > ここで生成した PageSettings インタンスを > 印刷対象の設定プロパティに渡す処理は > どのタイミングで呼び出していますか? > > > 1. PrintPreviewDialog や PrintPreviewControl の表示前もしくは > PrintDocument クラスの Print メソッドを呼び出す直前に > PrintDocument クラスの DefaultPageSettings プロパティに割り当て > > 2. PrintDocument クラスの BeginPrint イベントが発生したときに、 > PrintDocument クラスの DefaultPageSettings プロパティに割り当て > > 3. PrintDocument クラスの QueryPageSettings イベントが発生したときに、 > イベント引数 e の PageSettings プロパティに割り当て
プログラムは下記のようになっています Microsoft.Reporting.WinForms.ReportViewer reportViewer = new Microsoft.Reporting.WinForms.ReportViewer(); reportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
// Preview 無しのために追加。 reportViewer.RenderingComplete += delegate(object sender, RenderingCompleteEventArgs e) {
reportViewer.ResetPageSettings(); System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();
pg.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169); // 8.27 in x 11.69 in pg.PaperSize.RawKind = (int)System.Drawing.Printing.PaperKind.A4; pg.Landscape = true; pg.Margins = new System.Drawing.Printing.Margins(5, 5, 5, 5);
reportViewer.SetPageSettings(pg); };
|