title: Background Thread Printing Issue
body: <p>I am not sure if this is to with a threading issue or not.</p>
  
  <p>I am printing labels to a standard windows printer. The label is drawn in GDI and then passed to another object which prints it on a background thread.</p>
  
  <p>I am using a BackgroundWorker for this process. <code>LabelPrinter.Print(Label as PrintLabel)</code> starts the backgroundWorker and passes the label details to it. The PrintPage eventhandler renders the page and sends it to the printer.</p>
  
  <p>The issue is, users occasionally get an error stating:</p>
  
  <pre><code>System.Drawing.Printing.InvalidPrinterException: Settings to access printer '\\printserver\label' are not valid.
     at System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal()
     at System.Drawing.Printing.PrinterSettings.GetHdevmode(PageSettings pageSettings)
     at System.Drawing.Printing.PrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)
     at System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)
     at System.Drawing.Printing.PrintController.Print(PrintDocument document)
     at System.Drawing.Printing.PrintDocument.Print()
  </code></pre>
  
  <p>Users only get this occasionally, although I am informed it is worse when there print multiple labels in succession (few minutes between labels). They will be able to print labels all day, when they will suddenly hit this error and get it 4 or 5 times, then the problem will go usually go away.</p>