c# winform打印预览问题 求高手指教

最近在做个项目,涉及到一个展示打印预览的问题,现在知道有两种解决方案:

第一个是调用word中的PrintPreview打印预览功能,这种方法显示没问题,但是在点击关闭以后会显示所预览的word文档,还要再点击关闭当前的文档,而且还有可能对文档进行修改,我理解可能是因为先调用了word应用程序而后从外部操作打开office自带的预览功能,这种方式用户体验度不好;

第二个是.net中的PrintPreviewDialog控件,他的显示效果完全是我想要的样子,但是需要关联PrintDocument,而这个PrintDocument如何指定我本地的word文档呢(test.doc)??现在显示的预览效果是空白的~~

综上呢  我只是想单机按钮,显示本地word的打印预览模式,并且不显示word文档!有高手能帮我解决这个问题吗?或者有其他解决方案也可以,在此谢过了,这个问题已经琢磨好几天了,一直没有好办法实现!


眼眸繁星
浏览 886回答 2
2回答

交互式爱情

楼主遇到的第一给问题可以这样解决:在 try...catch语句块的finally中添加一个循环:while (wApp.PrintPreview){}。如果用户关闭预览窗口,PrintPreview的值为false,跳出循环后,再执行关闭word文档的操作。finally{if (wApp != null){while (wApp.PrintPreview) {//这里这么做是因为在用户关闭了预览窗口后,却打开了word文档,但是要求必须在用户关闭预览窗口后不能打开文档的}wApp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(wApp);wApp = null;}GC.Collect();}
打开App,查看更多内容
随时随地看视频慕课网APP