WPF の PrintDialog クラスの ShowDialog メソッドは、null 許容の bool (bool?) を返すように宣言されています。これは、ドキュメントの詳細と一致しています。
「ユーザーが [印刷] をクリックした場合は true。ユーザーが [キャンセル] をクリックした場合は false。ユーザーが [印刷] または [キャンセル] をクリックせずにダイアログ ボックスを閉じた場合は null」。http://msdn.microsoft.com/en-us/library/system.windows.controls.printdialog.showdialog.aspxから
ただし、以下のコードでは、どのようにダイアログを閉じても (X と Alt-F4 を試しました)、null を返すことはできません。印刷ボタンを押さない限り、常に false です。これは私のテストコードです:
PrintDialog pd = new PrintDialog();
bool? result;
result = pd.ShowDialog();
同じ動作をしますか?ドキュメンテーションが間違っているのでしょうか、それとも解釈が間違っているのでしょうか、正しくテストしていないのでしょうか? おそらくこれは OS 関連で、私は Windows 7 Enterprise を実行しています。
ありがとうございました。
L