private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { StatusChanged(Status.WORKER_STARTED, ""); while (!backgroundWorker.CancellationPending) { //SDK Check if (SDKLastStatus.Equals(MSD347SDK.Status.PRINTER_IS_OFFLINE)) { try { if (MSD347SDK.SetClean() != 0) { StatusChanged(Status.SDK_CLEAN_ERROR, ""); } if (MSD347SDK.SetClose() != 0) { StatusChanged(Status.SDK_CLOSE_ERROR, ""); } if (AutoUsbport) { if (MSD347SDK.SetUsbportauto() != 0) { StatusChanged(Status.SDK_SET_USB_AUTO_PORT_ERROR, ""); } } else { if (MSD347SDK.SetPrintport(UsbPort, Baudrate) != 0) { StatusChanged(Status.SDK_SET_PRINT_PORT_ERROR, ""); } } if (MSD347SDK.SetInit() != 0) { StatusChanged(Status.INIT_PRINTER_ERROR, ""); } } catch (Exception ex) { StatusChanged(Status.INIT_PRINTER_ERROR, ex.ToString()); } } var statusCode = MSD347SDK.GetStatus(); //if (!LastStatus.Equals(MSD347SDK.GetStatusByCode(statusCode))) //{ // PrinterStatusChanged(MSD347SDK.GetStatusByCode(statusCode), ""); // LastStatus = MSD347SDK.GetStatusByCode(statusCode); //} PrinterStatusChanged(MSD347SDK.GetStatusByCode(statusCode), ""); SDKLastStatus = MSD347SDK.GetStatusByCode(statusCode); Thread.Sleep(1000); } }