private void UpdateInfo(PrinterInfo p)
        {
            if (tbPrinterStatus.InvokeRequired == false)
            {
                //tbPrinterStatus.Text = (p.bPrinterConnected) ? "Connected" : "Not Connected";
                String printerStatus = "";
                switch (p.status)
                {
                case MagiCardStatus.STATUS_READY:
                    printerStatus = "Ready";
                    break;

                case MagiCardStatus.STATUS_BUSY:
                    printerStatus = "BUSY";
                    break;

                case MagiCardStatus.STATUS_ERROR:
                    printerStatus = "ERROR";
                    break;

                case MagiCardStatus.STATUS_OFFLINE:
                    printerStatus = "Offline";
                    break;

                default:
                    printerStatus = "Unknown";
                    break;
                }
                tbPrinterStatus.Text      = printerStatus;
                tbPrinterName.Text        = new String(p.sModel);
                tbPrinterLastMessage.Text = p.LastEnduroMessage;
            }
            else
            {
                UpdateInfoDelegate updateInfo = new UpdateInfoDelegate(UpdateInfo);
                this.BeginInvoke(updateInfo, new object[] { p });
            }
        }
 private void UpdateInfo(PrinterInfo p)
 {
     if (tbPrinterStatus.InvokeRequired == false)
     {
         //tbPrinterStatus.Text = (p.bPrinterConnected) ? "Connected" : "Not Connected";
         String printerStatus = "";
         switch (p.status)
         {
             case MagiCardStatus.STATUS_READY:
                 printerStatus = "Ready";
                 break;
             case MagiCardStatus.STATUS_BUSY:
                 printerStatus = "BUSY";
                 break;
             case MagiCardStatus.STATUS_ERROR:
                 printerStatus = "ERROR";
                 break;
             case MagiCardStatus.STATUS_OFFLINE:
                 printerStatus = "Offline";
                 break;
             default:
                 printerStatus = "Unknown";
                 break;
         }
         tbPrinterStatus.Text = printerStatus;
         tbPrinterName.Text = new String(p.sModel);
         tbPrinterLastMessage.Text = p.LastEnduroMessage;
     } else
     {
         UpdateInfoDelegate updateInfo = new UpdateInfoDelegate(UpdateInfo);
         this.BeginInvoke(updateInfo, new object[] { p });
     }
 }