PrintQueue变为0时的自定义事件

时间:2016-05-08 10:32:22

标签: c# winforms

我有这个:

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

但我想以“Imprimiendo”形式制作一个自定义事件,侦听PrintQueues,一旦PrintQueues变为0,关闭表单。这怎么可能?

我想让几个计时器检查PrintQueues,但我认为可能有更好的选择。

1 个答案:

答案 0 :(得分:0)

PrintQueue派生自object,并且没有事件模型:

System.Object
 System.Printing.PrintSystemObject
  System.Printing.PrintQueue

所以,是的,我想你需要一个Timer来观察你的队列或队列。

您可以质疑其中的一个或多个属性,例如IsWaiting或其QueueStatus ..

如果您可以控制所有PrintDocuments,您可能会看到EndPrint事件的那些。