我有程序在window上执行,使用微软的reportViewer,一切工作正常,客户成功打印文件。
当程序在Windows7上运行时,当点击control reportViewer的print按钮时什么也不做。期望显示计算机中的可用打印机,但不执行任何操作。
我认为在PrintDialog和属性UseEXDialog = true上有问题关系,但在控件中没有选项来改变这一点。
我在visual studio 2012中编译了项目,安装了windows reportviewer redistributable 2012,但问题没有解决。
任何解决问题的想法。对不起,我的英语不好。
发布于 2013-06-18 19:58:28
问题已解决:)
当调试程序时,请参见以下错误:
System.Runtime.InteropServices.SEHException
消息:外部组件抛出异常。
来源: System.Windows.Forms
目标网站: Int32 PRINTDLGEX
此错误仅在Windows7中出现。当在谷歌搜索中找到下一个描述“你的程序有指定的STAThread属性”。
将线程单元状态设置为ApartmentState.STA的代码运行良好。
thread.SetApartmentState(ApartmentState.STA);
https://stackoverflow.com/questions/16605065
复制相似问题