0

I have written a label printing program that stores up to 4 queues of labels which you can send off to print on different printers as required. I have put the printing process into threads so that it can print away while you return to use the interface.

For labels sent to a TEC printer, each new label is a document. This allows me to print a label as n copies, which helps give me speed. Typically a queue might contain up to 200 labels. However, for every label generated a notification box flashes up to say that printing has started, each time grabbing the focus momentarily and disrupting the use of the interface. Is there any way to turn this box off so that the printing process, once authorized, can truly go on in the background un-noticed.

  • Sounds like its just the print driver... – Chris Catignani Nov 25 '20 at 13:39
  • I agree it probably does come from the printer driver. Can it be turned off somehow ? – Martin Preston Nov 25 '20 at 13:43
  • What if you had a service doing the printing...that would work. – Chris Catignani Nov 25 '20 at 13:46
  • Thank you. A service would be all new to me, but from a brief look it does look like a solution. Can I create a service within the program just like I can create a separate class and move the printing routines into it. – Martin Preston Nov 25 '20 at 13:55
  • A service is just a separate program with no interface. Your app will put labels in the que...the service will monitor the que and print. Most, if not all, your existing code will work. – Chris Catignani Nov 25 '20 at 14:18
  • Thank you, I'll give it a go and see how I get on. – Martin Preston Nov 25 '20 at 16:57
  • Whilst researching the use of a service, I stumbled on this answer https://stackoverflow.com/questions/4945177/printing-from-a-windows-service. One of the lower answers suggested you can create a new print document and then set its PrintController as a StandardPrintController. The addition of the second of teh following two lines achieved what I was looking for :- PrintDocument pd = new PrintDocument(); pd.PrintController = new StandardPrintController(); – Martin Preston Nov 25 '20 at 17:16

0 Answers0