private void AutoSizeControl(string msg, MessageBoxButtons MButtons, bool bIcon) { this.m_bShowIcon = bIcon; Graphics g = this.frmMessage.CreateGraphics(); SizeF szf = g.MeasureString(this.Msg, this.frmMessage.Font, int.MaxValue); g.Dispose(); SizeF icosz = this.imageList1.ImageSize; float frmW = SystemInformation.BorderSize.Width * 2 + szf.Width; if (bIcon) { frmW += icosz.Width + 2 * margin; } this.Width = Convert.ToInt32(frmW + 1); int buttonAreaW = 0; if (MButtons == MessageBoxButtons.OK) { buttonAreaW = this.panel1.Width + margin * 2 + SystemInformation.BorderSize.Width * 2; if (this.Width < buttonAreaW) { this.Width = buttonAreaW; } this.panel1.Location = new Point((this.Width - this.panel1.Width) / 2, this.panel1.Location.Y); } else if (MButtons == MessageBoxButtons.OKCancel || MButtons == MessageBoxButtons.RetryCancel || MButtons == MessageBoxButtons.YesNo) { buttonAreaW = this.panel1.Width * 2 + margin * 3 + SystemInformation.BorderSize.Width * 2; if (this.Width < buttonAreaW) { this.Width = buttonAreaW; } this.panel1.Location = new Point((this.Width - this.panel1.Width * 2 - margin) / 2, this.panel1.Location.Y); this.panel2.Location = new Point(this.panel1.Location.X + this.panel1.Width + margin, this.panel1.Location.Y); } else { buttonAreaW = this.panel1.Width * 3 + margin * 4 + SystemInformation.BorderSize.Width * 2; if (this.Width < buttonAreaW) { this.Width = buttonAreaW; } this.panel1.Location = new Point((this.Width - this.panel1.Width * 3 - margin * 2) / 2, this.panel1.Location.Y); this.panel2.Location = new Point(this.panel1.Location.X + this.panel1.Width + margin, this.panel1.Location.Y); this.panel3.Location = new Point(this.panel2.Location.X + this.panel2.Width + margin, this.panel1.Location.Y); } #if DEBUG if (PubFunc.IsFactoryUser()) { this.Height += this.panel4.Height + 10; this.panel4.Location = new Point(this.panel1.Location.X, this.panel1.Bottom + 8); } #endif }
public void OnGetPrinterSetting(ref AllParam allParam, ref bool bChangeProperty) { try { if (_printerProperty.EPSONLCD_DEFINED) { m_epsonBaseSetting.OnGetPrinterSetting(ref allParam.PrinterSetting, ref allParam.EpsonAllParam); } else { m_BaseSetting.OnGetPrinterSetting(ref allParam.PrinterSetting); } m_BaseSetting.OnGetExtendedSettingsChange(ref allParam.ExtendedSettings); if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting)) { m_CalibrationSetting.OnGetPrinterSetting(allParam); } m_PreferenceSetting.OnGetPreference(ref allParam.Preference); m_SeviceSetting.OnGetProperty(ref allParam.PrinterProperty, ref bChangeProperty); //m_RealTimeSetting.OnGetPrinterSetting(ref allParam.PrinterSetting); m_MoveSetting.OnGetPrinterSetting(ref allParam.PrinterSetting); if (allParam.PrinterProperty.bSupportWhiteInk || allParam.PrinterProperty.bSupportWhiteInkYoffset) { spotColorSetting1.OnGetPrinterSetting(ref allParam.PrinterSetting); spotColorSetting1.OnGetExtendedSettingsChange(ref allParam.ExtendedSettings); } if (_printerProperty.EPSONLCD_DEFINED) { m_SeviceSetting.OnGetServiceSetting(ref allParam.EpsonAllParam.sCaliConfig); EpsonLCD.SetCaliConfig(allParam.EpsonAllParam.sCaliConfig); } //else { SSeviceSetting sSeviceSet = allParam.SeviceSetting; m_SeviceSetting.OnGetServiceSetting(ref sSeviceSet); if (allParam.Preference.ScanningAxis == CoreConst.AXIS_X || allParam.Preference.ScanningAxis == CoreConst.AXIS_4) { sSeviceSet.scanningAxis = allParam.Preference.ScanningAxis; } else { sSeviceSet.scanningAxis = CoreConst.AXIS_X; } CoreInterface.SetSeviceSetting(ref sSeviceSet); allParam.SeviceSetting = sSeviceSet; } SDoubleSidePrint doubleSide = allParam.DoubleSidePrint; doublePrintSetting1.OnGetScorpionSettings(ref doubleSide); allParam.DoubleSidePrint = doubleSide; //获取3D打印页签中的控件值 m_Printer3DSetting.OnGetPrinterSetting(allParam); //获取用户设置的值 userExtensionSetting.OnGetPrinterSetting(allParam); defineUVPowerLevel1.OnGetPrinterSetting(ref allParam.PrinterSetting, ref allParam.UvPowerLevelMap); //判断是否显示打印模式 if ((UIFunctionOnOff.SupportPrintMode && PubFunc.IsFactoryUser())) { jobConfigModes1.OnGetPrinterSetting(); } if (UIFunctionOnOff.SupportMediaMode) { mediaConfigs1.OnGetPrinterSetting(); } if (UIFunctionOnOff.SupportCloseNozzle) { closeColorNozzle1.OnGetPrinterSetting(ref allParam); } if (SPrinterProperty.IsJianRui()) { workposSetting1.OnGetPrinterSetting(ref allParam.PrinterSetting); } if (UIFunctionOnOff.SupportDebugQuality) { debugQuality1.OnGetPrinterSetting(ref allParam); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void OnPrinterPropertyChange(SPrinterProperty sp) { try { _printerProperty = sp; m_TabPagePrinterSetting.SuspendLayout(); this.m_TabControlSetting.SuspendLayout(); this.SuspendLayout(); if (sp.EPSONLCD_DEFINED) { this.m_BaseSetting.Dock = DockStyle.None; this.m_BaseSetting.Visible = false; this.m_epsonBaseSetting.Visible = true; this.m_epsonBaseSetting.Dock = DockStyle.Fill; } else { this.m_epsonBaseSetting.Dock = DockStyle.None; this.m_epsonBaseSetting.Visible = false; this.m_BaseSetting.Visible = true; this.m_BaseSetting.Dock = DockStyle.Fill; } this.m_TabControlSetting.ResumeLayout(false); this.m_TabPagePrinterSetting.ResumeLayout(false); this.ResumeLayout(false); if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting)) { this.m_TabControlSetting.TabPages.Remove(this.m_TabPageCaliSetting); } if (sp.EPSONLCD_DEFINED) { //if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting)) // this.m_TabControlSetting.TabPages.Remove(this.m_TabPageCaliSetting); if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageMoveSetting)) { this.m_TabControlSetting.TabPages.Remove(this.m_TabPageMoveSetting); } } #if !ALLWIN //if (sp.IsDocan()) { if (this.m_TabControlSetting.TabPages.Contains(this.tabPageUVPowerLevel)) { this.m_TabControlSetting.TabPages.Remove(this.tabPageUVPowerLevel); } } #endif if (sp.EPSONLCD_DEFINED) { m_epsonBaseSetting.OnPrinterPropertyChange(sp); } else { m_BaseSetting.OnPrinterPropertyChange(sp); } if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting)) { m_CalibrationSetting.OnPrinterPropertyChange(sp); } m_SeviceSetting.OnPrinterPropertyChange(sp); m_MoveSetting.OnPrinterPropertyChange(sp); spotColorSetting1.OnPrinterPropertyChange(sp); this.m_PreferenceSetting.OnPrinterPropertyChange(sp); this.m_Printer3DSetting.OnPrinterPropertyChange(sp); this.userExtensionSetting.OnPrinterPropertyChange(sp); doublePrintSetting1.OnPrinterPropertyChange(sp); // m_RealTimeSetting.OnPrinterPropertyChange(sp); bool bNoRealPage = ((sp.ePrinterHead == PrinterHeadEnum.Xaar_XJ128_80W) || (sp.ePrinterHead == PrinterHeadEnum.Xaar_XJ128_40W)); // if( bNoRealPage && m_TabControlSetting.TabPages.Contains(m_TabPageRealTime)) // { // m_TabControlSetting.TabPages.Remove(m_TabPageRealTime); // } // else if(!bNoRealPage && !m_TabControlSetting.TabPages.Contains(m_TabPageRealTime)) // { // m_TabControlSetting.TabPages.Add(m_TabPageRealTime); // } bool bFacUser = (PubFunc.GetUserPermission() != (int)UserPermission.Operator); if (!bFacUser && m_TabControlSetting.TabPages.Contains(m_TabPageService)) { m_TabControlSetting.TabPages.Remove(m_TabPageService); } else if (bFacUser && !m_TabControlSetting.TabPages.Contains(m_TabPageService)) { m_TabControlSetting.TabPages.Add(m_TabPageService); } //bool isInwearSimpleUi = SPrinterProperty.IsInwearSimpleUi(); if (!(sp.bSupportWhiteInk)) { this.m_TabControlSetting.TabPages.Remove(this.m_TabPageWriteColor); } m_TabControlSetting.SelectedIndex = 0; SwitchToAdvancedMode(PubFunc.IsKingColorAdvancedMode || PubFunc.Is3DPrintMachine()); if (!PubFunc.SupportDoubleSidePrint) { this.m_TabControlSetting.TabPages.Remove(this.m_tabPageDoublePrint); } //判断是否为3D打印 if (!PubFunc.Is3DPrintMachine() && !PubFunc.IsKINCOLOR_FLAT_UV() && this.m_TabControlSetting.TabPages.Contains(this.m_TabPage_3DPrinter)) { this.m_TabControlSetting.TabPages.Remove(this.m_TabPage_3DPrinter); } //判断是否需要显示用户扩展设置 if (!PubFunc.IsUserExtensionFormNeed() && this.m_TabControlSetting.TabPages.Contains(this.tabPageUserExtention)) { this.m_TabControlSetting.TabPages.Remove(this.tabPageUserExtention); } //判断是否显示打印模式 if ((!UIFunctionOnOff.SupportPrintMode || !PubFunc.IsFactoryUser()) && this.m_TabControlSetting.TabPages.Contains(this.tabPagJobModes)) { this.m_TabControlSetting.TabPages.Remove(this.tabPagJobModes); } if (!UIFunctionOnOff.SupportMediaMode || !PubFunc.IsFactoryUser() && this.m_TabControlSetting.TabPages.Contains(this.tabPageMediaMode)) { this.m_TabControlSetting.TabPages.Remove(this.tabPageMediaMode); } if (!sp.ShowGzPurgeControl() && this.m_TabControlSetting.TabPages.Contains(tabPagePressureSet)) { this.m_TabControlSetting.TabPages.Remove(this.tabPagePressureSet); } else { temperatureSetting1.Visible = !SPrinterProperty.IsGONGZENG_DOUBLE_SIDE(); pressureSetting1.OnPrinterPropertyChange(sp); } if (!UIFunctionOnOff.SupportCloseNozzle) { this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCloseColorNozzle); } if (!PubFunc.IsCustomCloseNozzle()) { this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCustomCloseNozzle); } if (!SPrinterProperty.IsJianRui()) { this.m_TabControlSetting.TabPages.Remove(this.m_tabPageWorkPosSetting); } else { workposSetting1.OnPrinterPropertyChange(sp); } if (!PubFunc.SupportDebugQuality()) { this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCustomDebugQuality); } else { debugQuality1.OnPrinterPropertyChange(sp); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void ButtonStatements(MessageBoxButtons MButtons) { #if DEBUG if (PubFunc.IsFactoryUser()) { this.ShowDebugButton(this.panel4); this.panel4.Visible = true; } #endif if (MButtons == MessageBoxButtons.AbortRetryIgnore) { ShowIgnoreButton(panel1); ShowRetryButton(panel2); ShowAbortButton(panel3); this.panel1.Visible = true; this.panel2.Visible = true; this.panel3.Visible = true; return; } if (MButtons == MessageBoxButtons.OK) { ShowOKButton(panel1); this.panel1.Visible = true; return; } if (MButtons == MessageBoxButtons.OKCancel) { ShowCancelButton(panel1); ShowOKButton(panel2); this.panel1.Visible = true; this.panel2.Visible = true; return; } if (MButtons == MessageBoxButtons.RetryCancel) { ShowCancelButton(panel1); ShowRetryButton(panel2); this.panel1.Visible = true; this.panel2.Visible = true; return; } if (MButtons == MessageBoxButtons.YesNo) { ShowNoButton(panel1); ShowYesButton(panel2); this.panel1.Visible = true; this.panel2.Visible = true; return; } if (MButtons == MessageBoxButtons.YesNoCancel) { ShowCancelButton(panel1); ShowNoButton(panel2); ShowYesButton(panel3); this.panel1.Visible = true; this.panel2.Visible = true; this.panel3.Visible = true; return; } }
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; } }
// 再读取完成时进行回调 private void OnReadComplete(IAsyncResult ar) { int bytesRead = 0; try { NetworkStream stream = (NetworkStream)ar.AsyncState; lock (stream) { bytesRead = stream.EndRead(ar); Debug.WriteLine(string.Format("Reading data, {0} bytes ...", bytesRead)); } if (this.streams == null) { if (worker != null) { worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected")); worker.ReportProgress(0, "all UnConneted"); } return; } int i = 0; for (; i < this.streams.Length; i++) { if (streams[i] == stream) { break; } } byte[] buffer = (byte[])buffers[i]; if (bytesRead != 0) { string msg = Encoding.Default.GetString(buffer, 0, bytesRead); Array.Clear(buffer, 0, buffer.Length); // 清空缓存,避免脏读 if (PubFunc.IsFactoryUser()) { LogWriter.WriteLog(new string[] { "OnReadComplete==" + msg }, true); } // 获取protocol数组 ArrayList protocolArray = handler.GetProtocol(msg); for (int j = 0; j < protocolArray.Count; j++) { // 这里异步调用,不然这里可能会比较耗时 // ParameterizedThreadStart start = new ParameterizedThreadStart(this.HandleProtocol); // start.BeginInvoke(pro, null, null); this.HandleProtocol((string)protocolArray[j], i); } } else { if (worker != null) { worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected")); worker.ReportProgress(0, string.Format("Client({0}) UnConneted", ipAddress[i])); } this.Connected = false; return; //throw new Exception("收到0字节"); } // 再次调用BeginRead(),完成时调用自身,形成无限循环 lock (stream) { AsyncCallback callBack = new AsyncCallback(OnReadComplete); stream.BeginRead(buffer, 0, BufferSize, callBack, stream); } } catch (Exception ex) { if (worker != null) { // Protocol status = new Protocol(TcpIpCmdEnum.StatusDirty, 0, ex.Message, CmdReturnValueEnum.Error, 0, 0); worker.ReportProgress(0, ex.Message); worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected")); } Debug.WriteLine(ex.Message); // 捕获异常时退出程序 //OnTcpClientClosed(new EventArgs()); MessageBox.Show(ex.Message); this.Reset(); } }
//SNozzleOverlap fwData = new SNozzleOverlap(null); public CloseColorNozzle_New() { InitializeComponent(); if (PubFunc.IsInDesignMode()) { return; } //加载模式 if (PubFunc.IsFactoryUser()) { IsSupperUser = true; } comboBox_model.Items.Clear(); foreach (CloseColorNozzleModelEnum place in Enum.GetValues(typeof(CloseColorNozzleModelEnum))) { string cmode = ResString.GetEnumDisplayName(typeof(CloseColorNozzleModelEnum), place); comboBox_model.Items.Add(cmode); } if (!IsSupperUser) { comboBox_model.Items.RemoveAt(2); } RowNum = CoreInterface.GetRowNum(); if (RowNum > 1) { RowNum -= 1; } //HeadNumPerRow = 0; //maxHeadNumPerRow = 0; //for (int i = 0; i < RowNum; i++) //{ // HeadNumPerRow = CoreInterface.GetHeadNumPerRow(i); // if (maxHeadNumPerRow < HeadNumPerRow) // { // maxHeadNumPerRow = HeadNumPerRow; // } //} //int lineIdx = 1; //for (int i = 0; i < RowNum; i++) //{ // List<byte> tempArray = new List<byte>(); // int lineNum = CoreInterface.GetLineNumPerRow(i); // for (int j = 0; j < lineNum; j++) // { // NozzleLineData lineData = new NozzleLineData(); // CoreInterface.GetlineIDtoNozzleline(lineIdx, ref lineData); // if (tempArray.IndexOf(lineData.ColorID) < 0) // { // tempArray.Add(lineData.ColorID); // } // lineIdx++; // } // if (maxHeadNumPerRow < tempArray.Count) // { // maxHeadNumPerRow = tempArray.Count; // } //} //从JobPrint中获取支持的最大颜色数 maxHeadNumPerRow = CoreInterface.GetLayoutColorNum(); for (int i = 0; i < maxHeadNumPerRow; i++) { LayoutColorNameEnums.Add((LayoutColorNameEnum)CoreInterface.GetLayoutColorID(i)); } m_HorColumnNum = CoreInterface.GetMaxColumnNum(); if (m_HorColumnNum < 1) { m_HorColumnNum = 1; } //if (maxHeadNumPerRow < 2) maxHeadNumPerRow = 2; comboBox_model.SelectedIndex = 0; }