Почему PrintDialog не отображается (в 64-битной версии)? - PullRequest
6 голосов
/ 25 мая 2010

Этот код, встроенный в .Net для любой платформы ЦП и работающий на 64-разрядной машине, просто возвращает DialogResult of Cancel без отображения ожидаемого диалогового окна.

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 ]

9 голосов
/ 25 мая 2010

Вам необходимо установить дополнительное свойство ...

dlg.UseEXDialog = True

В документации (*) кратко упоминается, что это необходимо сделать для процессоров AMD64 в разделе Примечания.

  • мс-помощь: //MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_system.windows.forms/html/43eb054b-8985-16ae-1738-ad9b97a8e8cc.htm
0 голосов
/ 20 апреля 2012

Если вы не используете справку MSDN в VS.Net, вы можете найти то же самое замечание здесь: http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog(v=vs.80).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...