RsTray增加几种状态

master
lhiven 2 months ago
parent 0159dad4c9
commit 6c7e1c47f1

@ -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;
}
}

@ -80,7 +80,19 @@ namespace Rs.Controls
/// <summary>
/// 被选择
/// </summary>
Selected
Selected,
/// <summary>
/// Config mismatch
/// </summary>
ConfigFail,
/// <summary>
/// 过站失败
/// </summary>
LinkedFail,
/// <summary>
/// 扫码成功
/// </summary>
ScanOK,
}
public partial class RsTray : UserControl
@ -263,6 +275,22 @@ namespace Rs.Controls
}
return slots;
}
/// <summary>
/// 根据穴位的状态获取穴位
/// </summary>
/// <param name="status"></param>
/// <returns></returns>
public List<TraySlot> GetSlots(ESlotStatus[] status)
{
List<TraySlot> slots = new List<TraySlot>();
foreach (KeyValuePair<int, TraySlot> item in traySlotsDic)
{
if (status.Contains(item.Value.SlotStatus))
slots.Add(item.Value);
}
return slots;
}
/// <summary>
/// 通过穴位的索引获取穴位
/// </summary>
@ -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<TraySlot> slots = new List<TraySlot>();
foreach (KeyValuePair<int, TraySlot> 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<TraySlot> slots = new List<TraySlot>();
foreach (KeyValuePair<int, TraySlot> 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<TraySlot> slots = new List<TraySlot>();
foreach (KeyValuePair<int, TraySlot> kvSlot in traySlotsDic)
{
if (drawRect.IntersectsWith(kvSlot.Value.Bound))
{
slots.Add(kvSlot.Value);
}
}
DrawTrayAfterEvent?.Invoke(this, ESlotStatus.ScanOK, slots);
}
}
/// <summary>
@ -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;
}

@ -144,26 +144,47 @@
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="lblStatus.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="lblStatus.Font" type="System.Drawing.Font, System.Drawing">
<value>宋体, 13pt</value>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="lblStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>146, 0</value>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 36</value>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="lblStatus" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="lblStatus.TabIndex" type="System.Int32, mscorlib">
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 38</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="lblStatus.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;lblStatus.Name" xml:space="preserve">
<value>lblStatus</value>
@ -177,24 +198,6 @@
<data name="&gt;&gt;lblStatus.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>宋体, 13pt</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 36</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
@ -237,65 +240,119 @@
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="lblStatus" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
<data name="lblStatus.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
<data name="lblStatus.Font" type="System.Drawing.Font, System.Drawing">
<value>宋体, 13pt</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 38</value>
<data name="lblStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>146, 0</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<data name="lblStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 36</value>
</data>
<data name="lblStatus.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
<data name="lblStatus.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;lblStatus.Name" xml:space="preserve">
<value>lblStatus</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;lblStatus.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>2</value>
<data name="&gt;&gt;lblStatus.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;lblStatus.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>宋体, 13pt</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 36</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="设置无料ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 22</value>
<value>180, 22</value>
</data>
<data name="设置无料ToolStripMenuItem.Text" xml:space="preserve">
<value>Set empty</value>
</data>
<data name="设置有料ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 22</value>
<value>180, 22</value>
</data>
<data name="设置有料ToolStripMenuItem.Text" xml:space="preserve">
<value>Set filled</value>
</data>
<data name="禁用ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 22</value>
<value>180, 22</value>
</data>
<data name="禁用ToolStripMenuItem.Text" xml:space="preserve">
<value>Disable</value>
</data>
<data name="scanFailToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 22</value>
<value>180, 22</value>
</data>
<data name="scanFailToolStripMenuItem.Text" xml:space="preserve">
<value>ScanFail</value>
</data>
<data name="selectedToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 22</value>
<value>180, 22</value>
</data>
<data name="selectedToolStripMenuItem.Text" xml:space="preserve">
<value>Selected</value>
</data>
<data name="configFailToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="configFailToolStripMenuItem.Text" xml:space="preserve">
<value>ConfigFail</value>
</data>
<data name="linkedFailToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="linkedFailToolStripMenuItem.Text" xml:space="preserve">
<value>LinkedFail</value>
</data>
<data name="scanOKToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="scanOKToolStripMenuItem.Text" xml:space="preserve">
<value>ScanOK</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 114</value>
<value>181, 202</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Name" xml:space="preserve">
<value>contextMenuStrip1</value>
@ -342,6 +399,24 @@
<data name="&gt;&gt;selectedToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;configFailToolStripMenuItem.Name" xml:space="preserve">
<value>configFailToolStripMenuItem</value>
</data>
<data name="&gt;&gt;configFailToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkedFailToolStripMenuItem.Name" xml:space="preserve">
<value>linkedFailToolStripMenuItem</value>
</data>
<data name="&gt;&gt;linkedFailToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;scanOKToolStripMenuItem.Name" xml:space="preserve">
<value>scanOKToolStripMenuItem</value>
</data>
<data name="&gt;&gt;scanOKToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>RsTray</value>
</data>

Loading…
Cancel
Save