C# net8 PrintDocument 列印兩頁不一樣的 範例

C# net8 PrintDocument 列印兩頁不一樣的 範例

C# net8 PrintDocument 列印兩頁不一樣的 範例


資料來源: copilot/gemini


code

using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;

class Program
{
    static int pageNumber = 1;

    static void Main()
    {
        PrintDocument printDoc = new PrintDocument();
        printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
        PrintPreviewDialog previewDialog = new PrintPreviewDialog
        {
            Document = printDoc
        };
        previewDialog.ShowDialog();
    }

    static void PrintPage(object sender, PrintPageEventArgs e)
    {
        if (pageNumber == 1)
        {
            e.Graphics.DrawString("這是第 1 頁", new Font("Arial", 16), Brushes.Black, 100, 100);
            e.Graphics.DrawRectangle(Pens.Black, new Rectangle(50, 150, 200, 100));
            pageNumber++;
            e.HasMorePages = true; // 指定還有下一頁
        }
        else
        {
            e.Graphics.DrawString("這是第 2 頁", new Font("Arial", 16), Brushes.Black, 100, 100);
            e.Graphics.FillEllipse(Brushes.Blue, new Rectangle(50, 150, 200, 100));
            e.HasMorePages = false; // 最後一頁
        }
    }
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *