DOBON.NET DOBON.NETプログラミング掲示板過去ログ

印刷時のダイアログについて

環境/言語:[Windows XP/C#]
分類:[.NET]

C#を使用して印刷関連の処理を作成しています。

印刷ダイアログからの印刷、プレビューダイアログから印刷、
プレビューダイアログ表示時に、現在何ページを処理している
かというダイアログが表示されますが、そのダイアログを画面
のセンターに固定させるのはどのようにすれば宜しいのでしょうか?

もしセンターに固定できないのであればダイアログを表示させない
ようにしたいのですが、どのようにすれば宜しいのでしょうか?

具体的に教えていただけないでしょうか?
「現在何ページを処理しているかというダイアログ」というのは、「印刷中...」というダイアログでしょうか?これの消し方であれば、過去にこの掲示板で何回か同じ質問がありました。

・印刷中ダイアログを消す方法は???
http://dobon.net/vb/bbs/log3-4/2422.html
管理人さん


> 「現在何ページを処理しているかというダイアログ」というのは、「印刷中...」というダイアログでしょうか?これの消し方であれば、過去にこの掲示板で何回か同じ質問がありました。

はい。そのとおりです。


> ・印刷中ダイアログを消す方法は???
> http://dobon.net/vb/bbs/log3-4/2422.html

この例はVBで書いてありましたが、C#ではどのようにするのでしょうか?
管理人さん

標準の印刷ダイアログから印刷した場合は、ダイアログが出なくなりました。

System.Drawing.Printing.PrintDocument PrintDoc =
new System.Drawing.Printing.PrintDocument();
PrintDoc.PrintController =
new System.Drawing.Printing.StandardPrintController();


ただし、印刷プレビューダイアログを表示するときに出てしまいます。

System.Windows.Forms.PrintPreviewDialog PrintPvwDlg =
new System.Windows.Forms.PrintPreviewDialog();

PrintPvwDlg.ShowDialog(this);

上記のように作っているのですが、ShowDialogしたときに印刷中ダイアログを
消すにはどうすればいいのでしょうか?
■No3291に返信(のりさんの記事)
> 管理人さん
>
> 標準の印刷ダイアログから印刷した場合は、ダイアログが出なくなりました。
>
> System.Drawing.Printing.PrintDocument PrintDoc =
> new System.Drawing.Printing.PrintDocument();
> PrintDoc.PrintController =
> new System.Drawing.Printing.StandardPrintController();
>
>
> ただし、印刷プレビューダイアログを表示するときに出てしまいます。
>
> System.Windows.Forms.PrintPreviewDialog PrintPvwDlg =
> new System.Windows.Forms.PrintPreviewDialog();
>
> PrintPvwDlg.ShowDialog(this);
>
> 上記のように作っているのですが、ShowDialogしたときに印刷中ダイアログを
> 消すにはどうすればいいのでしょうか?
>
>

ShowDialogはモーダルダイアログとして表示されます。つまり、ShowDialogして、そのダイアログが表示されてから、閉じられるまでは、次のメソッドに処理が移らないのです。
もし実装したいのなら、スレッドにして、Startさせてから、無理やり停止させるしかないのでは?でも、これでは、ダイアログを出す意味が・・・
> ただし、印刷プレビューダイアログを表示するときに出てしまいます。

印刷プレビューではダメかもしれません。何か方法があるかは、残念ながら私には分かりません。
>>ただし、印刷プレビューダイアログを表示するときに出てしまいます。
>
> 印刷プレビューではダメかもしれません。何か方法があるかは、残念ながら私には分かりません。

管理人さん、ありがとうございます。
いろいろ試してみましたが、どうしてもできないのであきらめました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板