private void btnPrint_Click(object sender, EventArgs e) { if (lstFiles.CheckedItems.Count == 0) { return; } // frmPrinterList frm = new frmPrinterList(); //DialogResult drs = frm.ShowDialog(); //if (drs != DialogResult.OK) // return; // string printername = frm.GetSelected; string strDefault = PrinterOperate.GetDefaultPrinterName(); //if (string.Compare(strDefault, printername, true) != 0) // { // PrinterOperate.SetPrinter(printername); // } try { //btnPrint.Enabled = false; btnCancel.Enabled = false; //lstFiles.Enabled = false; //chkAll.Enabled = false; IntPtr hMenu = GetSystemMenu(this.Handle, 0); EnableMenuItem(hMenu, SC_CLOSE, MF_DISABLED | MF_GRAYED); List <string> selectID = new List <string>(); for (int i = 0; i < lstFiles.Items.Count; i++) { if (lstFiles.GetItemChecked(i)) { selectID.Add(Nodes[i].Tag.ToString()); } } TargetMothod(selectID); //if (string.Compare(strDefault, printername, true) != 0) // { // PrinterOperate.SetPrinter(strDefault); // } btnCancel.Enabled = true; hMenu = GetSystemMenu(this.Handle, 0); EnableMenuItem(hMenu, SC_CLOSE, MF_ENABLED); // TXMessageBoxExtensions.Info("打印任务已经全部输送到打印机,现在可以关闭窗口了,请耐心等待打印机的处理。"); } catch (Exception ex) { btnPrint.Enabled = true; btnCancel.Enabled = true; // if (string.Compare(strDefault, printername, true) != 0) // { // PrinterOperate.SetPrinter(strDefault); // } } }
public void SetPrinterStatusChanged(JetStatusEnum status) { PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(status); if (bSelfRaised && status == JetStatusEnum.Measuring) { bMeasuring = true; bSelfRaised = false; } if (bMeasuring && status == JetStatusEnum.Ready) { bSelfRaised = bMeasuring = false; } // this.buttonCancel.Enabled = po.CanMoveStop; // this.buttonYes.Enabled = po.CanMoveLeft && po.CanMoveRight; this.zAixsSetting1.SetPrinterStatusChanged(status); }
public void SetPrinterStatusChanged(JetStatusEnum status) { PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(status); if (bSelfRaised && status == JetStatusEnum.Measuring) { bMeasuring = true; bSelfRaised = false; } if (bMeasuring && status == JetStatusEnum.Ready && !bAutoMeasure //不是自动测高,或者自动测高已经更新了结果 ) { bSelfRaised = bMeasuring = false; if (IsMeasureBeforePrint) { string m1 = ResString.GetEnumDisplayName(typeof(Confirm), Confirm.PrintNow); DialogResult result = MessageBox.Show(m1, ResString.GetProductName(), MessageBoxButtons.YesNo, MessageBoxIcon.Question); csEventArgs eventArgs = new csEventArgs() { Case = _case, Dr = DialogResult.Cancel }; if (result == DialogResult.Yes) { eventArgs.Dr = DialogResult.OK; } //CoreInterface.SendJetCommand((int)JetCmdEnum.BackToHomePoint, (int)AxisDir.X); OnCustomButtonClicked(null, eventArgs); } else { string m1 = ResString.GetEnumDisplayName(typeof(Confirm), Confirm.GoHome); DialogResult result = MessageBox.Show(m1, ResString.GetProductName(), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result != DialogResult.No) { CoreInterface.SendJetCommand((int)JetCmdEnum.BackToHomePoint, (int)AxisDir.X); } } } this.buttonCancel.Enabled = po.CanMoveStop; this.m_ButtonManualMove.Enabled = this.m_ButtonMeasureThick.Enabled = this.m_ButtonMeasureThick2.Enabled = po.CanMoveUp && po.CanMoveDown; }
/// <summary> /// 执行打印 /// </summary> /// <param name="dt"></param> /// <param name="printername"></param> /// <param name="hMenu"></param> /// <param name="strDefault"></param> /// <returns></returns> private IntPtr PrintFile(DataTable dt, string printername, IntPtr hMenu, string strDefault) { for (int i = 0; i < dt.Rows.Count; i++) { if (!del(dt.Rows[i]["filed"].ToString(), printername)) { if (TXMessageBoxExtensions.Question(dt.Rows[i]["title"].ToString() + "打印失败,要继续吗?") != DialogResult.OK) { btnCancel.Enabled = true; hMenu = GetSystemMenu(this.Handle, 0); EnableMenuItem(hMenu, SC_CLOSE, MF_ENABLED); if (setDefaultPrinter)//设回来 { if (string.Compare(strDefault, printername, true) != 0) { PrinterOperate.SetPrinter(strDefault); } } break; } } } return(hMenu); }
private void btnPrint_Click(object sender, EventArgs e) { try { if (lstFiles.CheckedItems.Count == 0) { return; } DataTable dt = ((DataView)lstFiles.DataSource).ToTable(); for (int j = lstFiles.Items.Count - 1; j >= 0; j--) { if (!lstFiles.GetItemChecked(j)) { dt.Rows[j].Delete(); } } if (!CheckFileExist(dt)) { return; } if (dt.Rows.Count == 0) { TXMessageBoxExtensions.Info("没有要打印的文件!"); return; } string PrintMode = "2"; if (PrintMode.Equals("2") && tn != null) { string[] printFileList = new string[dt.Rows.Count]; string tempFolder = System.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "erm_print"); if (!System.IO.Directory.Exists(tempFolder)) { MyCommon.DeleteAndCreateEmptyDirectory(tempFolder, true); } for (int i = 0; i < dt.Rows.Count; i++) { /* * * 拷贝到临时目录进行打印,因为隐藏章打印会删除掉,影响系统查看 * * */ string tempFile = System.IO.Path.Combine(tempFolder, dt.Rows[i]["title"].ToString() + ".pdf"); System.IO.File.Copy(dt.Rows[i]["filed"].ToString(), tempFile, true); printFileList[i] = tempFile; } using (ConvertCell2PDF cl_print = new ConvertCell2PDF()) { MyCommon.DeleteAndCreateEmptyDirectory(Application.StartupPath + @"\Reports\printPdf_temp", true); cl_print.MergePDF(printFileList, Application.StartupPath + @"\Reports\printPdf_temp\printFile.pdf"); frmReport frmReports = new frmReport("printFile.pdf"); frmReports.ShowDialog(); //cl_print.BathPrintPDF(printFileList); } //switch (tn.ImageIndex) //{ // case 0://所有 // string[] printFileList = new string[dt.Rows.Count]; // for (int i = 0; i < dt.Rows.Count; i++) // { // printFileList[i] = dt.Rows[i]["filed"].ToString(); // } // break; // case 1://案卷 // //OperatorFile(dt, printername, ref hMenu, strDefault, dtNew, tn, StartPageNo); // break; // case 2://文件 // //hMenu = OperatorTem(dt, printername, hMenu, strDefault, dtNew, StartPageNo); // break; // default: // break; //} } else { frmPrinterList frm = new frmPrinterList(); DialogResult drs = frm.ShowDialog(); if (drs != DialogResult.OK) { return; } string printername = frm.GetSelected; btnPrint.Enabled = false; btnCancel.Enabled = false; lstFiles.Enabled = false; chkAll.Enabled = false; IntPtr hMenu = GetSystemMenu(this.Handle, 0); EnableMenuItem(hMenu, SC_CLOSE, MF_DISABLED | MF_GRAYED); string strDefault = ""; if (setDefaultPrinter) { strDefault = PrinterOperate.GetDefaultPrinterName(); if (string.Compare(strDefault, printername, true) != 0) { PrinterOperate.SetPrinter(printername); } } hMenu = PrintFile(dt, printername, hMenu, strDefault); if (setDefaultPrinter)//设回来 { if (string.Compare(strDefault, printername, true) != 0) { PrinterOperate.SetPrinter(strDefault); } } btnCancel.Enabled = true; hMenu = GetSystemMenu(this.Handle, 0); EnableMenuItem(hMenu, SC_CLOSE, MF_ENABLED); if (TXMessageBoxExtensions.Question("打印任务已经全部输送到打印机,现在可以关闭窗口了,请耐心等待打印机的处理。\n 是否继续打印?") != DialogResult.OK) { this.Close(); } else { btnPrint.Enabled = true; btnCancel.Enabled = true; lstFiles.Enabled = true; chkAll.Enabled = true; } } btnPrint.Enabled = true; btnCancel.Enabled = true; lstFiles.Enabled = true; chkAll.Enabled = true; } catch (Exception ex) { btnPrint.Enabled = true; btnCancel.Enabled = true; } }
private void HandleProtocol(string protocol, int i) { try { lock (this.tbandMonitor) { CLockQueue mLinesQueue = this.m_iPrinterChange.GetLockQueue(); if (mLinesQueue != null) { string[] temp = protocol.Split(new char[] { ';' }); DatatypeEnum dataType = (DatatypeEnum)byte.Parse(temp[1]); switch (dataType) { case DatatypeEnum.Print: { int reversePrint = int.Parse(temp[3]); TcpipCmdPara linearray = new TcpipCmdPara(); linearray.CmdType = (int)dataType; linearray.PrtPath = temp[2]; linearray.ReversePrint = reversePrint == 1; mLinesQueue.PutInQueue(linearray); if ((PubFunc.GetUserPermission() == (int)UserPermission.SupperUser)) { LogWriter.WriteLog(new string[] { protocol + " " + mLinesQueue.GetCount() }, true); } bandCount++; Debug.WriteLine(string.Format("line num ={0}", bandCount)); break; } case DatatypeEnum.DoubleSideCari: { if (worker != null) { worker.ReportProgress((int)DatatypeEnum.DoubleSideCari, temp); } break; } case DatatypeEnum.PauseCmd: { PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(curStatus); if (po.CanPause) { CoreInterface.Printer_Pause(); } break; } case DatatypeEnum.ResumeCmd: { PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(curStatus); if (po.CanResume) { CoreInterface.Printer_Resume(); } break; } case DatatypeEnum.Error: { break; } default: Debug.Assert(false, string.Format("未知的协议数据类型({0},temp[0])")); break; } if (PubFunc.IsFactoryUser()) { LogWriter.WriteLog(new string[] { protocol + " " + mLinesQueue.GetCount() }, true); } } else { if ((PubFunc.GetUserPermission() == (int)UserPermission.SupperUser)) { LogWriter.WriteLog(new string[] { protocol + " " + "mLinesQueue=null" }, true); } } this.tbandMonitor.Reset(); } } catch (Exception ex) { Debug.WriteLine(ex.Message); if (worker != null) { worker.ReportProgress(0, ex.Message); } MessageBox.Show(ex.Message + ex.StackTrace); this.Connected = false; } }