From e352eedf88803506ead41a9b94b154bf04eed630 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期五, 10 七月 2020 18:34:47 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071
---
src/Bro.M071.Process/UI/M071_MainForm.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs
index 938e116..17b79c9 100644
--- a/src/Bro.M071.Process/UI/M071_MainForm.cs
+++ b/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
--
Gitblit v1.8.0