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 | 99 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs
index df918c4..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;
};
}
@@ -51,35 +53,38 @@
if (string.IsNullOrWhiteSpace(Config.BackgroundImagePath))
return;
- try
+ this.Invoke(new Action(() =>
{
- Bitmap image = (Bitmap)Image.FromFile(Config.BackgroundImagePath);
- cvImage.LoadImage(image);
- cvImage.SetScreenSize();
- }
- catch (Exception ex)
- {
- LogAsync(new LogMsg(DateTime.Now, "杞藉叆鑳屾櫙鍥惧紓甯�", ex.Message));
- return;
- }
-
- cvImage.Elements.Clear();
- lvMeasures.Items.Clear();
- Config.MeasurementUnitCollection.ForEach(u =>
- {
- if (!u.IsEnabled)
+ try
+ {
+ Bitmap image = (Bitmap)Image.FromFile(Config.BackgroundImagePath);
+ cvImage.LoadImage(image);
+ cvImage.SetScreenSize();
+ }
+ catch (Exception ex)
+ {
+ LogAsync(new LogMsg(DateTime.Now, "杞藉叆鑳屾櫙鍥惧紓甯�", ex.Message));
return;
+ }
- var ele = new KeyIndicator(u.Id, u.DisplayLocation);
- cvImage.Elements.Add(ele);
+ cvImage.Elements.Clear();
+ lvMeasures.Items.Clear();
- ListViewItem item = new ListViewItem(u.GetDisplayText());
- item.Tag = u.Id;
- lvMeasures.Items.Add(item);
- });
+ txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked;
- if (txtBarcode.IsHandleCreated)
- txtBarcode.BeginInvoke(new Action(() => txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked));
+ Config.MeasurementUnitCollection.ForEach(u =>
+ {
+ if (!u.IsEnabled)
+ return;
+
+ var ele = new KeyIndicator(u.Id, u.DisplayLocation);
+ cvImage.Elements.Add(ele);
+
+ ListViewItem item = new ListViewItem(u.GetDisplayText());
+ item.Tag = u.Id;
+ lvMeasures.Items.Add(item);
+ });
+ }));
Process_M071.OnClearBarcode -= M071_MainForm_OnClearBarcode;
Process_M071.OnClearBarcode += M071_MainForm_OnClearBarcode;
@@ -96,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 鍥剧墖鍖哄彸閿彍鍗�
@@ -117,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;
@@ -165,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