C#で書かれたWindowsアプリケーションでMyPrintDocument.print()
を使用すると、キャンセルボタン付きWindows処理印刷ルーチンのダイアログが表示されます。私はこのダイアログを表示したくありません、それは可能ですか?printDocument.print()での印刷ダイアログをスキップし、ページを直接印刷する方法は?
そうでない場合は、どの方法で使用しますか?私のプログラムはサーマルプリンタを使用しています。
C#で書かれたWindowsアプリケーションでMyPrintDocument.print()
を使用すると、キャンセルボタン付きWindows処理印刷ルーチンのダイアログが表示されます。私はこのダイアログを表示したくありません、それは可能ですか?printDocument.print()での印刷ダイアログをスキップし、ページを直接印刷する方法は?
そうでない場合は、どの方法で使用しますか?私のプログラムはサーマルプリンタを使用しています。
あなたが使用しているのはPrintControllerです。
.NET Frameworkには、一般的な作業を実行するのに役立つ
PrintController
から派生した3つのプリントコントローラが含まれています。StandardPrintController
は、文書をプリンタに印刷します。PreviewPrintController
は、印刷時にドキュメントがどのように見えるかのプレビューを生成し、PrintPreviewControl
およびPrintPreviewDialog
クラスで使用されます。PrintControllerWithStatusDialog
は、印刷プロセス中に印刷ステータスダイアログを提供します。
PrintControllerWithStatusDialog
PrintController
のように聞こえます。
警告:私は基本的PrintController
が同じように作用しないことを確認する立場にはないです。
このMSDN Forum PostingによるPrintControllerWithStatusDialog
がデフォルトである:あなたがPrintDocument.PrintController
プロパティを割り当てない場合、デフォルトのプリントコントローラを取得
MyPrintDocument.PrintController = new System.Drawing.Printing.StandardPrintController();
:
彼はこのような何かを示唆しています。プログレス・ダイアログを表示し、ページを数え、理由があるとプログラムが応答しないが、そうでなければハングしていないことをユーザに一般的に知らせるPrintControllerWithStatusDialog
のインスタンス。
単純にフォームコンストラクタに再割り当てします。ボイラープレートコードは次のとおりです。
Public Class Form1
Public Sub New()
InitializeComponent()
PrintDocument1.PrintController = New System.Drawing.Printing.StandardPrintController
End Sub
End Class
そして、印刷が進行中であることをユーザーに伝えるために何か他の操作を行う必要があります。少なくともhourglass cursorを表示してください。