Windows 7 microsoft reportviewer选择打印机

时间:2013-05-17 08:52:22

标签: c# reportviewer

我有在Windows XP上执行并使用microsoft reportViewer的程序,一切正常,客户成功打印文档。

在Windows 7上运行程序时,单击控件reportViewer的打印按钮时什么都不做。期望在计算机上显示可用的打印机,但什么都不做。

我认为PrintDialog上的问题关系和属性UseEXDialog = true,但是在控件中没有选项更改。

我在visual studio 2012中编译了项目,安装了windows reportviewer redistributable 2012,但问题没有解决。

任何解决问题的想法。 抱歉英语不好。

1 个答案:

答案 0 :(得分:2)

问题解决了:)

当调试程序看到以下错误时:

System.Runtime.InteropServices.SEHException

消息:外部组件抛出了异常。

来源:System.Windows.Forms

目标网站:Int32 PrintDlgEx(PRINTDLGEX)

仅在Windows7中出现此错误。当在谷歌搜索时找到下一个描述“你的程序指定了[STAThread]属性”。

将线程公寓状态设置为ApartmentState.STA的代码正常工作。

thread.SetApartmentState(ApartmentState.STA);