本帖最后由 J8GCD 于 2014-03-07 13:58:52 编辑

解决方案 »

  1.   

    唉,还是摸索懂了。我自己回答吧……private PrintQueue getQueue(String PrinterName)
            {
                PrintServer myPrintServer = new PrintServer(PrinterName);
                PrintQueueCollection myPrintQueues = myPrintServer.GetPrintQueues();            foreach (PrintQueue printer in myPrintQueues)
                {
                    if (printer.Name == PrinterName) return printer;
                }
                return null;
            }
    上诉方法获得一个PrintQueue后,用下述方法判断:PrintQueue myPrintQueue = getQueue(printDocument1.PrinterSettings.PrinterName);
    myPrintQueue.Refresh(); 
                    if (myPrintQueue.NumberOfJobs <1)
                    {//队列中文档数大于1则不予打印
                        printDocument1.Print();
                    }