日期:2014-05-17  浏览次数:21098 次

PrintPreviewDialog 会被打印两次的原因?

 //打印预览  
            PrintPreviewDialog ppd = new PrintPreviewDialog();
            PrintDocument pd = new PrintDocument();
            //设置边距  
            Margins margin = new Margins(20, 20, 20, 20);
            pd.DefaultPageSettings.Margins = margin;
            ////纸张设置默认  
            PaperSize pageSize = new PaperSize("First custom size", 3508, 3508);
            pd.DefaultPageSettings.PaperSize = pageSize;
            //打印事件设置  
            pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
            ppd.Document = pd;
            ppd.ShowDialog();
            try
            {
                pd.Print();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
                pd.PrintController.OnEndPrint(pd, new PrintEventArgs());
            }

============================
以上的代码在弹出的预览窗体中点打印图标后,能正常打印。
可当点击关闭预览窗体时又被打印一次,请教是哪里设置错了。谢谢。