Top > プログラミング > .NET Tips> プリンタ選択ダイアログを表示して印刷する

プリンタ選択ダイアログを表示して印刷する」への評価、コメント

評価

良い / 悪い = 13 / 2 (「良い」の割合 = 0.867 , 人気度 = 1.020

評価する

コメント一覧


通常のコメント
管理人 2014/05/11 (Sun) 01:41:21
> 「なおこのメソッドは、.NET Framework 2.0以降で使用できます。」メソッドじゃなくて、プロパティじゃないですすか?

ご報告ありがとうございます。次の機会に修正させていただきます。

通常のコメント
匿名 2014/03/19 (Wed) 20:49:38
「なおこのメソッドは、.NET Framework 2.0以降で使用できます。」メソッドじゃなくて、プロパティじゃないですすか?

通常のコメント
管理人 2013/08/30 (Fri) 00:01:37
64bitでもPrintDialog.ShowDialogが失敗する条件があるんですね。対処法も教えていただき、ありがとうございます。

通常のコメント
Daddy 2013/07/23 (Tue) 18:19:53
64Bit環境(Intel、AMD問わず)に於いて、PrintDialog#ShowDialog( ) を呼び出すと、
強制的に DialogResult.Cancel が返って来ると言う辺りで困ってる人が居ると思います。
その際には、UseEXDialog プロパティを true にすれば解決出来ます。
※MSDN には AMD64 と書かれていますが、Intel でも発生します

また、PrintDialog を Windows Application で、且つ別スレッドで実行している場合は、
【System.Runtime.InteropServices.SEHException
外部コンポーネントが例外をスローしました。】が
発生する為、UIスレッドで実行(Invoke)が必要になるので注意が必要です。
それに加え、STAThread 属性指定を忘れていないか確認が必要です。

Console Application で実行する場合は、UIスレッドの縛りが無い為、STAThread 属性指定と UseEXDialog
のみ注意していれば問題なさそうです。

但し、32Bit環境では、これらの意識が必要ない以上、APIのバグであると考えられますが、
回避コードを必要としている以上改善の期待は出来ないのではないかと思います。

通常のコメント
管理人 2012/04/8 (Sun) 01:44:06
> 「PrintPageイベントハンドラの追加」は不要です。追加した場合、1ページ目と2ページ目が重なってしまいます。

必要です。Visual StudioのフォームデザイナなどですでにPrintPageイベントハンドラが追加されている時は、必要ありません。

> 64bitで動作しないことを明記するべきかと。

Windows 7 64bitで試してみましたが、動作しました。

通常のコメント
ゲーツ 2011/12/28 (Wed) 11:09:29
64bitで動作しないことを明記するべきかと。

.NET Frameworkのバージョンによる違い
やまさん 2006/07/24 (Mon) 18:39:00
「PrintPageイベントハンドラの追加」は不要です。追加した場合、1ページ目と2ページ目が重なってしまいます。

コメントの投稿

[説明]