diff --git a/Rs.Controls/RsTray.Designer.cs b/Rs.Controls/RsTray.Designer.cs
index 250592a..30d8d51 100644
--- a/Rs.Controls/RsTray.Designer.cs
+++ b/Rs.Controls/RsTray.Designer.cs
@@ -41,6 +41,9 @@
this.禁用ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.scanFailToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.selectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.configFailToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.linkedFailToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.scanOKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.panel1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
@@ -95,7 +98,10 @@
this.设置有料ToolStripMenuItem,
this.禁用ToolStripMenuItem,
this.scanFailToolStripMenuItem,
- this.selectedToolStripMenuItem});
+ this.selectedToolStripMenuItem,
+ this.configFailToolStripMenuItem,
+ this.linkedFailToolStripMenuItem,
+ this.scanOKToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
resources.ApplyResources(this.contextMenuStrip1, "contextMenuStrip1");
//
@@ -129,6 +135,24 @@
resources.ApplyResources(this.selectedToolStripMenuItem, "selectedToolStripMenuItem");
this.selectedToolStripMenuItem.Click += new System.EventHandler(this.selectedToolStripMenuItem_Click);
//
+ // configFailToolStripMenuItem
+ //
+ this.configFailToolStripMenuItem.Name = "configFailToolStripMenuItem";
+ resources.ApplyResources(this.configFailToolStripMenuItem, "configFailToolStripMenuItem");
+ this.configFailToolStripMenuItem.Click += new System.EventHandler(this.configFailToolStripMenuItem_Click);
+ //
+ // linkedFailToolStripMenuItem
+ //
+ this.linkedFailToolStripMenuItem.Name = "linkedFailToolStripMenuItem";
+ resources.ApplyResources(this.linkedFailToolStripMenuItem, "linkedFailToolStripMenuItem");
+ this.linkedFailToolStripMenuItem.Click += new System.EventHandler(this.linkedFailToolStripMenuItem_Click);
+ //
+ // scanOKToolStripMenuItem
+ //
+ this.scanOKToolStripMenuItem.Name = "scanOKToolStripMenuItem";
+ resources.ApplyResources(this.scanOKToolStripMenuItem, "scanOKToolStripMenuItem");
+ this.scanOKToolStripMenuItem.Click += new System.EventHandler(this.scanOKToolStripMenuItem_Click);
+ //
// RsTray
//
resources.ApplyResources(this, "$this");
@@ -157,5 +181,8 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ToolStripMenuItem scanFailToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem selectedToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem configFailToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem linkedFailToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem scanOKToolStripMenuItem;
}
}
diff --git a/Rs.Controls/RsTray.cs b/Rs.Controls/RsTray.cs
index edc66b0..e26165a 100644
--- a/Rs.Controls/RsTray.cs
+++ b/Rs.Controls/RsTray.cs
@@ -80,7 +80,19 @@ namespace Rs.Controls
///
/// 被选择
///
- Selected
+ Selected,
+ ///
+ /// Config mismatch
+ ///
+ ConfigFail,
+ ///
+ /// 过站失败
+ ///
+ LinkedFail,
+ ///
+ /// 扫码成功
+ ///
+ ScanOK,
}
public partial class RsTray : UserControl
@@ -263,6 +275,22 @@ namespace Rs.Controls
}
return slots;
}
+
+ ///
+ /// 根据穴位的状态获取穴位
+ ///
+ ///
+ ///
+ public List GetSlots(ESlotStatus[] status)
+ {
+ List slots = new List();
+ foreach (KeyValuePair item in traySlotsDic)
+ {
+ if (status.Contains(item.Value.SlotStatus))
+ slots.Add(item.Value);
+ }
+ return slots;
+ }
///
/// 通过穴位的索引获取穴位
///
@@ -803,6 +831,48 @@ namespace Rs.Controls
}
DrawTrayAfterEvent?.Invoke(this, ESlotStatus.Selected, slots);
}
+
+ private void configFailToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ChangeSlotStatus(ESlotStatus.ConfigFail);
+ List slots = new List();
+ foreach (KeyValuePair kvSlot in traySlotsDic)
+ {
+ if (drawRect.IntersectsWith(kvSlot.Value.Bound))
+ {
+ slots.Add(kvSlot.Value);
+ }
+ }
+ DrawTrayAfterEvent?.Invoke(this, ESlotStatus.ConfigFail, slots);
+ }
+
+ private void linkedFailToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ChangeSlotStatus(ESlotStatus.LinkedFail);
+ List slots = new List();
+ foreach (KeyValuePair kvSlot in traySlotsDic)
+ {
+ if (drawRect.IntersectsWith(kvSlot.Value.Bound))
+ {
+ slots.Add(kvSlot.Value);
+ }
+ }
+ DrawTrayAfterEvent?.Invoke(this, ESlotStatus.LinkedFail, slots);
+ }
+
+ private void scanOKToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ChangeSlotStatus(ESlotStatus.ScanOK);
+ List slots = new List();
+ foreach (KeyValuePair kvSlot in traySlotsDic)
+ {
+ if (drawRect.IntersectsWith(kvSlot.Value.Bound))
+ {
+ slots.Add(kvSlot.Value);
+ }
+ }
+ DrawTrayAfterEvent?.Invoke(this, ESlotStatus.ScanOK, slots);
+ }
}
///
@@ -890,6 +960,15 @@ namespace Rs.Controls
case ESlotStatus.Selected:
g.FillRectangle(new SolidBrush(Color.FromArgb(255, 0, 0)), Bound.X, Bound.Y, Bound.Width - 1, Bound.Height - 1);
break;
+ case ESlotStatus.ConfigFail:
+ g.FillRectangle(new SolidBrush(Color.FromArgb(243, 103, 0)), Bound.X, Bound.Y, Bound.Width - 1, Bound.Height - 1);
+ break;
+ case ESlotStatus.LinkedFail:
+ g.FillRectangle(new SolidBrush(Color.FromArgb(181, 0, 0)), Bound.X, Bound.Y, Bound.Width - 1, Bound.Height - 1);
+ break;
+ case ESlotStatus.ScanOK:
+ g.FillRectangle(new SolidBrush(Color.FromArgb(34, 177, 76)), Bound.X, Bound.Y, Bound.Width - 1, Bound.Height - 1);
+ break;
default:
break;
}
diff --git a/Rs.Controls/RsTray.resx b/Rs.Controls/RsTray.resx
index 1722cc9..82d70f7 100644
--- a/Rs.Controls/RsTray.resx
+++ b/Rs.Controls/RsTray.resx
@@ -144,26 +144,47 @@
1
-
- 2
+
+ tableLayoutPanel1
-
- Fill
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 宋体, 13pt
+
+ panel1
-
- 146, 0
+
+ 0
-
- 137, 36
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblStatus" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings>
-
+
+ Top
+
+
+ 0, 0
+
+
+ 288, 38
+
+
2
-
- MiddleRight
+
+ panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
+
+ 2
lblStatus
@@ -177,24 +198,6 @@
0
-
- Fill
-
-
- 宋体, 13pt
-
-
- 3, 0
-
-
- 137, 36
-
-
- 1
-
-
- MiddleLeft
-
label1
@@ -237,65 +240,119 @@
<?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblStatus" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings>
-
- Top
+
+ Fill
-
- 0, 0
+
+ 宋体, 13pt
-
- 288, 38
+
+ 146, 0
-
+
+ 137, 36
+
+
2
-
- panel1
+
+ MiddleRight
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ lblStatus
-
- $this
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 2
+
+ tableLayoutPanel1
+
+
+ 0
+
+
+ Fill
+
+
+ 宋体, 13pt
+
+
+ 3, 0
+
+
+ 137, 36
+
+
+ 1
+
+
+ MiddleLeft
+
+
+ label1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel1
+
+
+ 1
17, 17
- 134, 22
+ 180, 22
Set empty
- 134, 22
+ 180, 22
Set filled
- 134, 22
+ 180, 22
Disable
- 134, 22
+ 180, 22
ScanFail
- 134, 22
+ 180, 22
Selected
+
+ 180, 22
+
+
+ ConfigFail
+
+
+ 180, 22
+
+
+ LinkedFail
+
+
+ 180, 22
+
+
+ ScanOK
+
- 135, 114
+ 181, 202
contextMenuStrip1
@@ -342,6 +399,24 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ configFailToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ linkedFailToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scanOKToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
RsTray