printdialog.showdialog(); not showing the print dialog in windows 7 with 64 bit

sivarajini picture sivarajini · Jun 17, 2011 · Viewed 14.9k times · Source

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

Answer

uzbones picture uzbones · May 2, 2012

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).