private void txtQRScan_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == (char)Keys.Return && txtQRScan.Text.Trim().Length > 0) { try { e.Handled = true; PDFcreator pDFcreator = new PDFcreator(); this.txtQRScan.LostFocus += new System.EventHandler(this.returnFocus); pdfViewer.LoadFile("none"); int line = Convert.ToInt32(txtQRScan.Text.Trim().Substring(1, 1)); if (line > 3) { throw new Exception("Line not registered"); } if (!(lastScanings[line] != null && DateTime.Now < ((DateTime)lastScanings[line]).AddSeconds(WaitingTime))) { if (txtQRScan.Text.Contains("ScanToPrintTestLabel")) { lastScanings[line] = DateTime.Now; int printer = controller.GetTargetPrinter(line); BarcodeReading barcodeTest = GenerateTestBarcode(printer); if (printer == line) { pDFcreator.CreatePDF6x4(GenerateTestBarcode(line), "#dedede"); } else { pDFcreator.CreatePDF6x4FromAnotherLine(GenerateTestBarcode(line), "#dedede"); } pdfViewer.LoadFile(string.Format(@"..\..\Labels\{0}.pdf", barcodeTest.Barcode)); backgroundQueue.QueueTask(() => Print(barcodeTest.Barcode, printer)); } else { BarcodeReading barcodeReading = controller.RegisterBarcodeScan(txtQRScan.Text); if (barcodeReading != null) { lastScanings[barcodeReading.Line] = DateTime.Now; } int printer = controller.GetTargetPrinter(barcodeReading.Line); if (printer == barcodeReading.Line) { pDFcreator.CreatePDF6x4(barcodeReading, controller.GetJobColor(barcodeReading.Job)); } else { pDFcreator.CreatePDF6x4FromAnotherLine(barcodeReading, controller.GetJobColor(barcodeReading.Job)); } pdfViewer.LoadFile(string.Format(@"..\..\Labels\{0}.pdf", barcodeReading.Barcode)); backgroundQueue.QueueTask(() => Print(barcodeReading.Barcode, printer)); } } } catch (Exception ex) { controller.Log("Printing failed.", ex); pdfViewer.LoadFile("none"); } txtQRScan.Clear(); } }