C# · 12月 26, 2021

c# – printdialog.showdialog();没有显示64位Windows 7中的打印对话框

我有打印工具栏项目的自定义控件.打印控件时
对话框不在 Windows 7中,64位操作系统在其他系统操作系统中
精细.问题只在Windows 7与64位.

我的问题printdialog不是在Windows 7 os 64位.

我已经检查并且alyaed – > PrintDialog.ShowDialog()返回immeraditely
取消instaed显示对话框的问题.

我已经通过搜索以下链接找到了该问题的解决方案:

http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/8760fb6c-ae63-444e-9606-cd3295ce6b5d

http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog.useexdialog.aspx

通过将printdialog的UseExDialog属性设置为true,该对话框出现
工作正常.但这种对话风格就像Windows XP不是windows7 style.so
这不是excat解决方案.

UseExDialog属性集为true表示正常工作,但打印对话框
风格看起来像Windows XP打印不像Windows 7.我需要一些其他
用于在Windows 7 os中显示64位打印对话框的解决方案.

请为此问题提供完整的解决方案

谢谢

湿婆

@R_403_1911@ 每 Microsoft’s Forums:

via Mike Dos Zhang (MSFT CSG)

The PrintDialog class may not work on AMD64(x64 or Any cpu is belong to AMD64 technical,including intel x64cpu) microprocessors unless you set the UseEXDialog property to true.

This is a kNown issue.

And this limitation has been supported in .net framework4,so if you want use this class with windows7 style dialog,then you will need to use .net framework4,otherwise you will need to use the xp style dialog with set the UseEXDialog property to true,or using x86 target platform.

在我的情况下,第二个已知问题是…我们从.NET 2.0升级到.NET 4.0,它开始工作,没有任何代码更改(打印).