【问题标题】:printdialog.showdialog(); not showing the print dialog in windows 7 with 64 bitprintdialog.showdialog();在 64 位的 Windows 7 中不显示打印对话框
【发布时间】:2011-09-17 04:03:32
【问题描述】:

我有带有打印工具栏项的自定义控件。当打印控件时 在其他系统操作系统中使用 64 位操作系统的 Windows 7 中没有出现对话框 美好的。仅在 64 位的 Windows 7 中存在问题。

我的问题 printdialog 没有出现在 64 位的 Windows 7 操作系统中。

我已经检查并确认了 -->PrintDialog.ShowDialog() 立即返回 取消而不是显示问题所在的对话框。

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

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。我需要一些其他的 在 64 位 Windows 7 操作系统中显示打印对话框的解决方案。

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

谢谢

湿婆

【问题讨论】:

  • 您找到解决方案了吗?您现在可以在不使用“UseEXDialog”-属性的情况下执行此操作吗?

标签: c# winforms 32bit-64bit printdialog


【解决方案1】:

Microsoft's Forums:

通过 Mike Dos Zhang (MSFT CSG)

除非您将 UseEXDialog 属性设置为 true,否则 PrintDialog 类可能无法在 AMD64(x64 或任何 CPU 属于 AMD64 技术,包括 intel x64cpu)微处理器上工作。

这是一个已知问题。

而且.net framework4已经支持这个限制,所以如果你想在windows7风格的对话框中使用这个类,那么你需要使用.net framework4,否则你需要使用xp风格的对话框并设置UseEXDialog属性为 true,或使用 x86 目标平台。

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

【讨论】:

    【解决方案2】:

    如果你不能或不喜欢设置UseEXDialog = true 另一种方法是将您的Plattform 设置为x86

    缺点很明显,但这样做应该会给您带来优点,即不需要像 uzbones 那样升级您的 .NET Framework,这也可能会产生问题.

    【讨论】:

      【解决方案3】:

      我的 .net framework v3.5 遇到了同样的问题,升级到 .net framework v4.5 的解决方案并且效果很好。

      【讨论】:

        【解决方案4】:

        将对话框对象属性AutoUpgradeEnabled 设置为 false 更正了在 Windows 7 SP1 64 位中执行时出现的问题(解决方案是使用 VS2008 和 .net 2.0 编译的)。

        例如

        SaveFileDialog dlg = new SaveFileDialog();    
        dlg.AutoUpgradeEnabled = false;
        

        【讨论】:

        • 顺便说一下PrintDialog中没有AutoUpgradeEnabled属性
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-05
        • 1970-01-01
        • 2019-06-18
        • 2011-05-08
        相关资源
        最近更新 更多