领胜LDS 键盘AOI检测项目
wells.liu
2020-07-11 edc37f77fa57f8923ba28c5c84c29985ea555de8
src/Bro.M071.Process/UI/M071_MainForm.cs
@@ -38,6 +38,8 @@
                   await Task.Delay(300);
                   cvImage.SetScreenSize();
                   cvImage.OnElementChangedHandle -= CvImage_OnElementChangedHandle;
                   cvImage.OnElementChangedHandle += CvImage_OnElementChangedHandle;
               };
        }
@@ -67,7 +69,8 @@
                cvImage.Elements.Clear();
                lvMeasures.Items.Clear();
                txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked;
                txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked;
                Config.MeasurementUnitCollection.ForEach(u =>
                {
@@ -98,6 +101,14 @@
            Process_M071.OnFullResetDone -= Process_M071_FullResetDone;
            Process_M071.OnFullResetDone += Process_M071_FullResetDone;
            Config.PropertyChanged -= Config_PropertyChanged;
            Config.PropertyChanged += Config_PropertyChanged;
        }
        private void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked;
        }
        #region 图片区右键菜单
@@ -119,10 +130,45 @@
        #endregion
        #region 标签编辑区
        private async void CvImage_OnElementChangedHandle(Common.Interface.IShapeElement ele)
        {
            this.Invoke(new Action(() =>
            {
                if (ele is KeyIndicator indicator)
                {
                    if (indicator.State == ElementState.Selected)
                    {
                        foreach (ListViewItem item in lvMeasures.Items)
                        {
                            if (item.Tag.ToString() == indicator.ID)
                            {
                                item.Selected = true;
                                lvMeasures.EnsureVisible(item.Index);
                                break;
                            }
                        }
                    }
                }
            }));
            await Task.Delay(100);
        }
        private void lvMeasures_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lvMeasures.SelectedItems.Count <= 0)
                return;
            foreach (ListViewItem item in lvMeasures.Items)
            {
                item.BackColor = SystemColors.Control;
            }
            foreach (ListViewItem item in lvMeasures.SelectedItems)
            {
                item.BackColor = Color.Orange;
            }
            var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString());
            propGridKeyIndicator.SelectedObject = ele;
@@ -167,11 +213,12 @@
            if (lvMeasures.SelectedItems.Count <= 0)
                return;
            cvImage.Elements.ToList().ForEach(u => u.State = ElementState.Normal);
            var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString());
            if (ele != null)
            {
                ele.State = ElementState.Selected;
                cvImage.Invalidate();
                //cvImage.Invalidate();
            }
        }
        #endregion