11

印刷ツールバー項目を含むカスタム コントロールがあります。コントロールを印刷すると、他のシステム OS の 64 ビット OS で Windows 7 にダイアログが表示されません。64ビットのWindows 7でのみ問題。

私の問題 printdialog は、64 ビットの Windows 7 OS では表示されません。

私はチェックして分析しました-> 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 7 スタイルではなく Windows XP に似ているため、excat ソリューションではありません。

UseExDialog プロパティを true に設定すると正常に動作することを意味しますが、印刷ダイアログのスタイルは Windows XP の印刷のように見えますが、Windows 7 とは異なります。64 ビットの Windows 7 OS で印刷ダイアログを表示するには、他のソリューションが必要です。

この問題の完全な解決策を提供してください

ありがとう

シヴァ

4

4 に答える 4

20

Microsoft のフォーラムごと:

Mike Dos Zhang (MSFT CSG) 経由

PrintDialog クラスは、UseEXDialog プロパティを true に設定しない限り、AMD64 (x64 または Intel x64cpu を含むすべての CPU が AMD64 テクニカルに属している) マイクロプロセッサでは機能しない場合があります。

これは既知の問題です。

この制限は .net Framework4 でサポートされているため、このクラスを Windows7 スタイルのダイアログで使用する場合は、.net Framework4 を使用する必要があります。それ以外の場合は、UseEXDialog プロパティを true に設定して XP スタイルのダイアログを使用する必要があります。 、または x86 ターゲット プラットフォームを使用します。

私の場合、2 番目の既知の問題は... .NET 2.0 から .NET 4.0 にアップグレードしたところ、コードを (印刷に) 変更することなく再び機能し始めました。

于 2012-05-02T12:58:37.173 に答える
0

.net フレームワーク v3.5 で同じ問題が発生し、ソリューションを .net フレームワーク v4.5 にアップグレードしましたが、うまくいきました。

于 2017-05-01T05:43:10.153 に答える
-2

ダイアログ オブジェクト プロパティAutoUpgradeEnabledを false に設定すると、Windows 7 SP1 64 ビットで実行するときに問題が修正されました (ソリューションは VS2008 および .net 2.0 を使用してコンパイルされました)。

元。

SaveFileDialog dlg = new SaveFileDialog();    
dlg.AutoUpgradeEnabled = false;
于 2013-12-12T01:46:28.537 に答える