首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

PrintPreviewDialog 会被打印两次的缘故

2013-08-13 
PrintPreviewDialog 会被打印两次的原因? //打印预览PrintPreviewDialog ppd new PrintPreviewDialog()

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());
            }

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


[解决办法]
打印这块代码是共通的不?
是的话定义一个变量 为bool  boPrint=false;
打开是时候改变状态为true,
关闭按钮事件中判断一下不让执行打印。

热点排行