0

印刷にprintdocumentを使用しています。各行が追加された後、用紙のサイズを増やしたい。私はここここで同様の質問を見つけました。しかし、解決策は機能しません。Componentクラスを使用してPrintdocumentの基本メソッドをオーバーライドし、OnBeginPrintイベントでページサイズを設定しています

int pageHt = 288, pageWt = 314;
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
        {
            // Run base code
            base.OnBeginPrint(e);
            base.DefaultPageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);
            base.DefaultPageSettings.Landscape = false;
        }

次に、反復ごとに、紙の高さを上げようとします

base.DefaultPageSettings.PaperSize.Height += 22;

ただし、用紙の高さは増加しません。感謝します。ありがとう。

4

1 に答える 1

1

2日間苦労した後、この質問に対する答えを見つけました。とてもシンプルでした

public void PrintEstimate(PrintPageEventArgs e)
{
  e.PageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);//initialize the height and width of the page
  foreach(.. )
  {   
    /* ...
     Write the loop here
     ...
     ...
   */
     e.PageSettings.PaperSize.Height = e.PageSettings.PaperSize.Height + 22;// foreach iteration, increment the page height.
   }
}
于 2013-02-04T10:10:48.023 に答える