| | |
| | | using Bro.Common.Base; |
| | | using Bro.Common.Helper; |
| | | using Bro.UI.Model.Winform; |
| | | using Bro.UI.Model.Winform.UI; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Drawing; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | using System.Windows.Forms; |
| | | using static Bro.Common.Helper.EnumHelper; |
| | |
| | | cvImage.SetScreenSize(); |
| | | cvImage.OnElementChangedHandle -= CvImage_OnElementChangedHandle; |
| | | cvImage.OnElementChangedHandle += CvImage_OnElementChangedHandle; |
| | | |
| | | timer1.Enabled = true; |
| | | |
| | | btnReset.Text = $"复位(长按{Config.FullResetRequiredDuration}秒大复位)"; |
| | | |
| | | lblCT.Text = tsslError.Text = ""; |
| | | }; |
| | | } |
| | | |
| | |
| | | item.Tag = u.Id; |
| | | lvMeasures.Items.Add(item); |
| | | }); |
| | | |
| | | lblOperator.Text = string.IsNullOrWhiteSpace(Process_M071.OperatorCode) ? "NotLogin" : Process_M071.OperatorCode; |
| | | })); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | |
| | | Process_M071.OnElementUpdated -= Process_M071_OnElementUpdated; |
| | | Process_M071.OnElementUpdated += Process_M071_OnElementUpdated; |
| | | |
| | | Process_M071.OnCheckHintUpload = OnCheckHintUpload; |
| | | Process_M071.OnOperatorLogin = OnOperatorLogin; |
| | | } |
| | | |
| | | private void Config_PropertyChanged(object sender, PropertyChangedEventArgs e) |
| | |
| | | #region 标签结果显示 |
| | | private async void Process_M071_OnElementUpdated(Common.Interface.IShapeElement obj) |
| | | { |
| | | //this.Invoke(new Action(() => |
| | | //{ |
| | | // if (obj is KeyIndicator keyIndicator) |
| | | // { |
| | | // var ele = cvImage.Elements.FirstOrDefault(u => u.ID == keyIndicator.ID); |
| | | |
| | | // //(ele as KeyIndicator).Text = keyIndicator.Text; |
| | | // //(ele as KeyIndicator).ResultState = keyIndicator.ResultState; |
| | | // if (ele != null) |
| | | // { |
| | | // ele = keyIndicator; |
| | | // } |
| | | |
| | | // this.Invalidate(); |
| | | // } |
| | | //})); |
| | | |
| | | if (obj is KeyIndicator keyIndicator) |
| | | { |
| | | this.Invoke(new Action(() => |
| | |
| | | { |
| | | _barcode += keyStr.ToUpper(); |
| | | } |
| | | else if (keyStr.Length == 2 && keyStr.StartsWith("D")) |
| | | { |
| | | _barcode += keyStr.Substring(1).ToUpper(); |
| | | } |
| | | else if (keyStr.StartsWith("NumPad")) |
| | | { |
| | | _barcode += keyStr.Replace("NumPad", ""); |
| | | } |
| | | |
| | | if (e.KeyValue == 13) |
| | | { |
| | | txtBarcode.Text = _barcode; |
| | | Process_M071.BarCode = txtBarcode.Text = _barcode; |
| | | _barcode = ""; |
| | | } |
| | | |
| | |
| | | |
| | | private void txtBarcode_TextChanged(object sender, EventArgs e) |
| | | { |
| | | Process_M071.BarCode = txtBarcode.Text.Trim(); |
| | | //Process_M071.BarCode = txtBarcode.Text.Trim(); |
| | | } |
| | | |
| | | private void M071_MainForm_OnClearBarcode() |
| | |
| | | btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime; |
| | | btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.Black; |
| | | lblMachineState.Text = "就绪"; |
| | | |
| | | |
| | | btnStartMeasure.Text = "开始测量"; |
| | | btnStartMeasure.Enabled = true; |
| | | break; |
| | |
| | | lblProductionState.ForeColor = Color.White; |
| | | lblProductionState.Text = "OK"; |
| | | } |
| | | else |
| | | else if (result == 0) |
| | | { |
| | | lblProductionState.BackColor = Color.Red; |
| | | lblProductionState.ForeColor = Color.White; |
| | | lblProductionState.Text = "NG"; |
| | | } |
| | | else |
| | | { |
| | | lblProductionState.BackColor = Color.White; |
| | | lblProductionState.ForeColor = Color.Red; |
| | | lblProductionState.Text = "NA"; |
| | | } |
| | | |
| | | //btnStartMeasure.Text = "开始测量"; |
| | |
| | | Process_M071.Reset(null, null, null); |
| | | } |
| | | |
| | | Process_M071.ResetTimer.Change(1000 * 5, -1); |
| | | Process_M071.ResetTimer.Change(1000 * Config.FullResetRequiredDuration, -1); |
| | | } |
| | | |
| | | private void btnReset_MouseUp(object sender, MouseEventArgs e) |
| | |
| | | } |
| | | #endregion |
| | | |
| | | private void timer1_Tick(object sender, EventArgs e) |
| | | { |
| | | cvImage.Refresh(); |
| | | } |
| | | |
| | | private void lblOperator_DoubleClick(object sender, EventArgs e) |
| | | { |
| | | InputWindow inputFrm = new InputWindow("请输入操作员工号"); |
| | | if (inputFrm.ShowDialog() == DialogResult.OK) |
| | | { |
| | | Process_M071.OperatorCode = inputFrm.Input; |
| | | } |
| | | } |
| | | |
| | | private void OnOperatorLogin(string operatorCode) |
| | | { |
| | | this.Invoke(new Action(() => |
| | | { |
| | | lblOperator.Text = operatorCode; |
| | | })); |
| | | } |
| | | |
| | | private async void OnCheckHintUpload(string hintMsg, bool isAlarm) |
| | | { |
| | | await Task.Run(() => |
| | | { |
| | | this.Invoke(new Action(() => |
| | | { |
| | | if (!string.IsNullOrWhiteSpace(hintMsg)) |
| | | { |
| | | stStripHint.Visible = true; |
| | | tsslError.Text = hintMsg; |
| | | |
| | | tsslError.BackColor = isAlarm ? Color.Red : Color.Green; |
| | | } |
| | | else |
| | | { |
| | | stStripHint.Visible = false; |
| | | tsslError.Text = ""; |
| | | } |
| | | })); |
| | | }); |
| | | } |
| | | } |
| | | } |