方法一:

private void toolStripButton7_Click(object sender, EventArgs e)

{

    PrintDialog pDlg = new PrintDialog();

    pDlg.AllowSomePages = true; //是否启用“页”选项按钮

    pDlg.Document = printPreviewControl1.Document;

    DialogResult result = pDlg.ShowDialog();

    if (result == DialogResult.OK)

    {

        try

        {

            if (pDlg.PrinterSettings.PrintRange == PrintRange.SomePages) //在此处判断,是否选择了”页”选项,还是”全部”

            {

                page = pDlg.Document.PrinterSettings.FromPage;

                maxpage = pDlg.Document.PrinterSettings.ToPage;

                b = page – 1; //用在函数 PrintPage 中

                d = maxpage;  //用在函数 PrintPage 中

            }

            else

            {

                page = 0;  //用在函数 PrintPage 中

                maxpage = c – 1;  //用在函数 PrintPage 中

            }

            pdc.PrintPage -= new PrintPageEventHandler(zdy);  //form_load中有调用此函数,此命令中不要执行此函数

            pdc.PrintPage -= new PrintPageEventHandler(PrintPage); //预览文件多次打印,作用是清空归零原内容

            pdc.PrintPage += new PrintPageEventHandler(PrintPage);

            pDlg.Document.Print();

        }

        catch

        {

            MessageBox.Show(“无法连接打印机”);

            return;

        }

    }

}

 

方法二:

private void toolStripButton7_Click(object sender, EventArgs e) 列印

{

    printDialog1.AllowSomePages = true; //是否启用“页”选项按钮

    printDialog1.Document = printPreviewControl1.Document;

    DialogResult result = printDialog1.ShowDialog();

    if (result == DialogResult.OK)

    {

        try

        {

            if (this.printDialog1.PrinterSettings.PrintRange == PrintRange.SomePages) //在此处判断,是否选择了”页”选项,还是”全部”

            {

                page = this.printDialog1.PrinterSettings.FromPage;

                maxpage = this.printDialog1.PrinterSettings.ToPage;

                b = page – 1;  //用在函数 PrintPage 中

                d = maxpage;    //用在函数 PrintPage 中

            }

            else

            {

                page = 0;     //用在函数 PrintPage 中

                maxpage = c – 1;   //用在函数 PrintPage 中

            }

            pdc.PrintPage -= new PrintPageEventHandler(zdy);   //form_load中有调用此函数,此命令中不要执行此函数

            pdc.PrintPage -= new PrintPageEventHandler(PrintPage);   //预览文件多次打印,作用是清空归零原内容

            pdc.PrintPage += new PrintPageEventHandler(PrintPage);

            printDialog1.Document.Print();

        }

        catch

        {

            MessageBox.Show(“无法连接打印机”);

            return;

        }

    }

}


版权声明:本文为brian0031原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/brian0031/article/details/6632001