为什么PrintDialog没有显示(64位)?

时间:2010-05-25 04:54:25

标签: .net winforms

此代码在内置于.Net for Any CPU平台并在64位计算机上运行时,只返回Cancel的DialogResult而不显示预期的对话框。

Dim dlg As New System.Windows.Forms.PrintDialog

If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
    '... print the document '
End If

但是,当为x86平台构建应用程序并在64位计算机上运行时,它可以正常工作。如何使用64位编译显示对话框?

2 个答案:

答案 0 :(得分:9)

您需要设置附加属性...

dlg.UseEXDialog = True

文档(*)简要提及需要在备注下对AMD64处理器进行此操作。

  • MS-帮助://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_system.windows.forms/html/43eb054b-8985-16ae-1738-ad9b97a8e8cc.htm

答案 1 :(得分:-1)

如果您不使用VS.Net中的MSDN帮助,可以在此处找到相同的注释:http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog(v=vs.80).aspx