I have custom control with print toolbar item.when print the control the dialog is not coming in windows 7 with 64 bit os in other system os working fine. problem only in windows 7 with 64 bit.
my problem printdialog is not coming in windows 7 os with 64 bit.
i have checked and anlyaed -->PrintDialog.ShowDialog() returns immeaditely cancel instaed of showing the dialog thats the problem.
i have found the solution for the problem by searched following links:
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
by setting true to UseExDialog property of printdialog the dialog comes and working fine.but this dialog style is like windows XP not windows7 style.so this is not excat solution.
UseExDialog property sets to true means working fine.but the print dialog style looks like windows XP print not like windows 7. i need some other solution for showing print dialog in windows 7 os with 64 bit.
please provide complete solution for this problem
Thanks
Siva
Per 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.
In my case the 2nd known issue was it... we upgraded from .NET 2.0 to .NET 4.0 and it started working again without any code changes (to the printing).
If you can't or don't like to set UseEXDialog = true
an alternative would be setting your Plattform
to x86
The disadvantage is obvious, but doing so should give you the advantage of not needing to upgrade your .NET Framework like uzbones did, which also could create problems.
I got the same issue for my .net framework v3.5, upgraded solution to .net framework v4.5 and it worked well.
Setting the dialog object property AutoUpgradeEnabled
to false corrected the problem when executing in Windows 7 SP1 64-bit (solution was compiled using VS2008 and .net 2.0).
Ex.
SaveFileDialog dlg = new SaveFileDialog();
dlg.AutoUpgradeEnabled = false;
来源:https://stackoverflow.com/questions/6385844/printdialog-showdialog-not-showing-the-print-dialog-in-windows-7-with-64-bit