WinForm打印多页示例

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

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private PrintDocument printDocument1; //PrintDocument
        private int pagenow = 0; //已打印页数
        private int papercount = 3; //打印总页数

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            printDocument1 = new PrintDocument();
            printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
        }

        /// <summary>
        /// 开始打印
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            pagenow = 0;
            printDocument1.Print();
        }

        /// <summary>
        /// 打印
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            pagenow++;

            Font font = new Font("宋体", 12);
            Brush brush = Brushes.Black;
            e.Graphics.DrawString(string.Format("{0}\r\n\r\n第{1}页", "木子屋 - http://www.mzwu.com/", pagenow), font, brush, 10, 10);
            e.HasMorePages = pagenow < papercount; //这句是关键
        }
    }
}


评论: 0 | 引用: 0 | 查看次数: 3458
发表评论
登录后再发表评论!