16

C#で記述されたWindowsアプリケーションで使用するMyPrintDocument.print()と、キャンセルボタンが付いたWindows処理印刷ルーチンのダイアログが表示されます。このダイアログを表示したくないのですが、可能ですか?

そうでない場合は、どちらの方法を使用すればよいですか?私のプログラムはサーマルプリンターを使用しています。

4

2 に答える 2

21

どのPrintControllerを使用していますか。

.NET Frameworkには、PrintController一般的なタスクの実行に役立つ3つのプリントコントローラーが含まれています。ドキュメントをプリンタにStandardPrintController印刷します。はPreviewPrintController、印刷時にドキュメントがどのように表示されるかをプレビューし、PrintPreviewControlおよびPrintPreviewDialogクラスで使用されます。はPrintControllerWithStatusDialog、印刷プロセス中に印刷ステータスダイアログを提供します。

を使用しているようです。PrintControllerWithStatusDialog PrintController


警告:私は、基本PrintControllerが同じように機能しないことを確認する立場にありません。

このMSDNフォーラムによると、投稿PrintControllerWithStatusDialogデフォルトです。

彼はこのようなことを提案します:

MyPrintDocument.PrintController = new System.Drawing.Printing.StandardPrintController();
于 2012-05-13T14:27:42.307 に答える
5

プロパティを割り当てない場合はPrintDocument.PrintController、デフォルトのプリントコントローラを取得します。そのインスタンスはPrintControllerWithStatusDialog進行状況ダイアログを表示し、ページをカウントし、通常、プログラムが何らかの理由で応答しないが、それ以外の場合はハングしていないことをユーザーに通知します。

フォームコンストラクタで再割り当てするだけです。ボイラープレートコードは次のとおりです。

Public Class Form1
    Public Sub New()
        InitializeComponent()
        PrintDocument1.PrintController = New System.Drawing.Printing.StandardPrintController
    End Sub
End Class

また、印刷が進行中であることをユーザーに通知するために、他のことを行う必要があります。少なくとも砂時計カーソルを表示します。

于 2012-05-13T14:46:11.940 に答える