private void btnPrint_Click(object sender, EventArgs e) { String statusMessage = ""; int errorCode = 0; int resultCode = LabelConst.CLS_SUCCESS; int type = (int)connectType.SelectedValue; if (lstPrinters.SelectedItems.Count <= 0) { MessageBox.Show("No printer is selected.", "Error"); return; } LabelPrinter printer = new LabelPrinter(); resultCode = printer.Connect(type, lstPrinters.Items[0].Text); printer.SetLog(1, "C:\\Users\\bukha\\Desktop\\Logs", 10); if (resultCode != LabelConst.CLS_SUCCESS) { this.PrinterErrorProc(printer, eErrorKind.eErrConnect, resultCode, null); return; } resultCode = printer.PrinterCheck(); if (resultCode != LabelConst.CLS_SUCCESS) { this.PrinterErrorProc(printer, eErrorKind.eErrPrinterCheck, resultCode, null); printer.Disconnect(); return; } statusMessage = ""; this.CheckPrinterStatus(printer, ref errorCode, ref statusMessage); if (errorCode != 0) { this.PrinterErrorProc(printer, eErrorKind.eErrPrinterStatus, 0, statusMessage); printer.Disconnect(); return; } printer.SetMeasurementUnit(LabelConst.CLS_UNIT_INCH); LabelDesign design = new LabelDesign(); this.DesignLabel(design); resultCode = printer.Print(design, 3); if (resultCode != LabelConst.CLS_SUCCESS) { this.PrinterErrorProc(printer, eErrorKind.eErrPrint, resultCode, null); printer.Disconnect(); return; } System.Threading.Thread.Sleep(500); while (true) { resultCode = printer.PrinterCheck(); if (resultCode != LabelConst.CLS_SUCCESS) { this.PrinterErrorProc(printer, eErrorKind.eErrPrinterCheck, resultCode, null); printer.Disconnect(); return; } if (printer.GetPrinting() == 0 & printer.GetBatchProcessing() == 0) { break; } } statusMessage = ""; this.CheckPrinterStatus(printer, ref errorCode, ref statusMessage); if (errorCode != 0) { this.PrinterErrorProc(printer, eErrorKind.eErrPrinterStatus, 0, statusMessage); } else { MessageBox.Show("Success", "Print Result"); } }