2016-05-08 2 views
-1

になった私は、この持っている:カスタムイベントPrintQueueには0

foreach (PrintQueue pq in myPrintQueues) 
      { 
       printcargas++; 
      } 
      if (printcargas > 0) 
      { 
       this.Close(); 
       Imprimiendo imprimiendo = new Imprimiendo(); 
       imprimiendo.Show(); 
      } 

を私はPrintQueuesをリッスン「Imprimiendo」形式でカスタムイベントを、作りたい、とPrintQueuesが0になったら、フォームを閉じます。これはどのように可能ですか?

私は、いくつかのタイマーでPrintQueuesをチェックすることを考えましたが、より良いオプションがあると思います。

+0

賢明な質問ではありません。 PrintQueueはシステムオブジェクトであり、非常に*非常に*ほとんど追加または削除されません。だからこれは今まで決して使用されていない機能です。たぶんあなたは実際にプリント*ジョブ*について話しています。そうでなければひどい授業は、あなたが壁に戻っていない限り、それらを使いたくない。 .NETに追加された唯一の理由は、WPFがそれらを必要としたためです。 [これを読む](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –

答えて

0

PrintQueueは、オブジェクトから派生されると、それにイベントモデルを持っていない:

だから、
System.Object 
System.Printing.PrintSystemObject 
    System.Printing.PrintQueue 

、はい、私はあなたが持っているキューまたはキューを監視するTimerが必要になります推測します。

あなたはすべてのPrintDocumentsを管理している場合は、EndPrintイベントのためにそれらを見ることができる。.. IsWaitingまたはそのQueueStatusのように、

をその特性の1つ以上を問うことができます。

関連する問題