1
0
Fork 0
- 添加RFID参数配置页面
- 添加RFID 02H数据解析类
change
- 更改文件结构
master
SoulStar 2 days ago
parent a55ed808bb
commit 978ade00b0

@ -1,52 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace HighWayIot.Common
{
/// <summary>
/// 通用工具类
/// </summary>
public class GeneralUtils
{
/// <summary>
/// 获取枚举类值的description元数据(没有Des返回名字)
/// </summary>
/// <returns></returns>
public static string GetEnumStringDescription(Enum enumValue)
{
string value = enumValue.ToString();
FieldInfo field = enumValue.GetType().GetField(value);
object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性
if (objs.Length == 0) //当描述属性没有时,直接返回名称
return value;
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
return descriptionAttribute.Description;
}
/// <summary>
/// 获取枚举类的键值对
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static IEnumerable<KeyValuePair<string, int>> GetEnumKeyValuePairs<T>() where T : Enum
{
var enumType = typeof(T);
var fields = enumType.GetFields();
foreach (var fi in fields)
{
if (fi.FieldType != enumType || !fi.IsLiteral)
continue;
var name = fi.Name;
var value = (int)enumType.GetField(name).GetValue(null);
yield return new KeyValuePair<string, int>(name, value);
}
}
}
}

@ -47,7 +47,6 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="GeneralUtils.cs" />
<Compile Include="JsonChange.cs" />
<Compile Include="MsgUtil.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -8,22 +9,55 @@ namespace HighWayIot.Plc.PlcEntity
{
public enum RgvStationEnum
{
[Description("裝圈工位RIFD触发")]
RgvRingInstallStation = 1,
[Description("1#工位RIFD触发")]
Rgv1Station,
[Description("2#工位RIFD触发")]
Rgv2Station,
[Description("3#工位RIFD触发")]
Rgv3Station,
[Description("4#工位RIFD触发")]
Rgv4Station,
[Description("5#工位RIFD触发")]
Rgv5Station,
[Description("卸胎工位RIFD触发")]
RgvTireUnloadingStation,
[Description("弯道等待工位RIFD触发")]
RgvBendWaitStation,
[Description("3#称重工位RIFD触发")]
Rgv3WeighCalibrationStation,
[Description("4#称重工位RIFD触发")]
Rgv4WeighCalibrationStation,
[Description("5#称重工位RIFD触发")]
Rgv5WeighCalibrationStation,
[Description("主线入端识别工位RIFD触发")]
RgvMainLineEntranceStation,
[Description("主线出端识别工位RIFD触发")]
RgvMainLineExitStation,
[Description("辅线1#工位RIFD触发")]
RgvAuxline1Station,
[Description("辅线2#工位RIFD触发")]
RgvAuxline2Station,
[Description("辅线3#工位RIFD触发")]
RgvAuxline3Station,
[Description("辅线4#工位RIFD触发")]
RgvAuxline4Station,
}
}

@ -10,13 +10,13 @@ namespace HighWayIot.Plc.PlcHelper
public class WorkStationWrite
{
/// <summary>
/// RFID工位识别
/// RFID工位识别写入
/// </summary>
/// <param name="rgvStation"></param>
/// <returns></returns>
public bool WriteStationSingal(RgvStationEnum rgvStation)
{
return false;
}
}
}

@ -20,7 +20,7 @@ namespace HighWayIot.Rfid
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public BaseReciveDataEntity BaseAnalyse(byte[] data)
public static BaseReciveDataEntity BaseReceiveAnalyse(byte[] data)
{
BaseReciveDataEntity result = new BaseReciveDataEntity();
@ -64,7 +64,7 @@ namespace HighWayIot.Rfid
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public byte[] BaseSendDataAnalyse(BaseSendDataEntity entity)
public static byte[] BaseSendDataAnalyse(BaseSendDataEntity entity)
{
byte[] result = new byte[entity.Data.Length + 6];

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace HighWayIot.Rfid.Entity
{
public class Receive02HEntity
{
/// <summary>
/// 标签个数
/// </summary>
public byte TagCount { get; set; }
/// <summary>
/// 时间段内读到的数据集合
/// </summary>
public List<Single02HReceive> Data { get; set; }
}
public class Single02HReceive
{
/// <summary>
/// 读取次数
/// </summary>
public byte Count { get; set; }
/// <summary>
/// 信号强度
/// </summary>
public byte RSSI { get; set; }
/// <summary>
/// 天线端口
/// </summary>
public byte Ant { get; set; }
/// <summary>
/// EPC区域
/// </summary>
public byte[] PC { get; set; }
/// <summary>
/// EPC内容
/// </summary>
public byte[] EPC { get; set; }
}
}

@ -45,12 +45,12 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Dto\MessagePack.cs" />
<Compile Include="ICommunicateService.cs" />
<Compile Include="IDeviceAdapter.cs" />
<Compile Include="Impl\BgTcpClient.cs" />
<Compile Include="Impl\RFLY_I160ADAPTER.CS" />
<Compile Include="BaseRFIDDataAnalyse.cs" />
<Compile Include="Entity\BaseReciveDataEntity.cs" />
<Compile Include="Entity\BaseSendDataEntity.cs" />
<Compile Include="Entity\Receive02HEntity.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RfidDataAnalyse.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HighWayIot.Common\HighWayIot.Common.csproj">

@ -0,0 +1,79 @@
using HighWayIot.Rfid.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HighWayIot.Rfid
{
public class RfidDataAnalyse
{
/// <summary>
/// 02H时间段盘点发送
/// </summary>
/// <param name="millisecond">盘点时间毫秒数</param>
/// <returns></returns>
public byte[] Send02H(ushort millisecond)
{
byte[] bytes = BitConverter.GetBytes(millisecond);
BaseSendDataEntity entity = new BaseSendDataEntity()
{
Code = 0x02,
Data = bytes
};
return BaseRFIDDataAnalyse.BaseSendDataAnalyse(entity);
}
/// <summary>
/// 接受02H盘点数据 (默认EPC 12位)
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public Receive02HEntity Receive02H(byte[] bytes)
{
BaseReciveDataEntity recive = BaseRFIDDataAnalyse.BaseReceiveAnalyse(bytes);
byte[] DataBytes = recive.Data;
Receive02HEntity entity = new Receive02HEntity();
//取读到多少个标签
int index = 0;
entity.TagCount = DataBytes[index];
index++;
//取每一个读到的标签
entity.Data = new List<Single02HReceive>();
for (int i = 0; i < entity.TagCount; i++)
{
Single02HReceive EPCData = new Single02HReceive();
//取单个标签读取的次数
EPCData.Count = DataBytes[index];
index++;
//取信号强度
EPCData.RSSI = DataBytes[index];
index++;
//取天线端口
EPCData.Ant = DataBytes[index];
index++;
//取EPC区域
Array.Copy(DataBytes, index, EPCData.PC, 0, 2);
index += 2;
//取读到标签的EPC
Array.Copy(DataBytes, index, EPCData.EPC, 0, 12);
index += 12;
entity.Data.Add(EPCData);
}
return entity;
}
}
}

@ -67,8 +67,8 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="TouchSocketTcpServer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TouchSocketTcpClient.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
@ -76,5 +76,11 @@
<ItemGroup>
<Analyzer Include="..\packages\TouchSocket.Core.3.0.9\analyzers\dotnet\cs\TouchSocket.Core.SourceGenerator.dll" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HighWayIot.Log4net\HighWayIot.Log4net.csproj">
<Project>{DEABC30C-EC6F-472E-BD67-D65702FDAF74}</Project>
<Name>HighWayIot.Log4net</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -1,9 +1,5 @@
using HighWayIot.Log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using TouchSocket.Core;

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
@ -79,5 +80,41 @@ namespace HighWayIot.Winform.Business
return default;
}
}
/// <summary>
/// 获取枚举类的键值对
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static IEnumerable<KeyValuePair<string, int>> GetEnumKeyValuePairs<T>() where T : Enum
{
var enumType = typeof(T);
var fields = enumType.GetFields();
foreach (var fi in fields)
{
if (fi.FieldType != enumType || !fi.IsLiteral)
continue;
var name = fi.Name;
var value = (int)enumType.GetField(name).GetValue(null);
yield return new KeyValuePair<string, int>(name, value);
}
}
/// <summary>
/// 获取枚举类值的description元数据(没有Des返回名字)
/// </summary>
/// <returns></returns>
public static string GetEnumStringDescription(Enum enumValue)
{
string value = enumValue.ToString();
FieldInfo field = enumValue.GetType().GetField(value);
object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性
if (objs.Length == 0) //当描述属性没有时,直接返回名称
return value;
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
return descriptionAttribute.Description;
}
}
}

@ -70,11 +70,17 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UserControlPages\DeviceDataManage.cs">
<Compile Include="UserControlPages\ParamConfigPages\RFIDParamSettingPage.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UserControlPages\DeviceDataManage.Designer.cs">
<DependentUpon>DeviceDataManage.cs</DependentUpon>
<Compile Include="UserControlPages\ParamConfigPages\RFIDParamSettingPage.Designer.cs">
<DependentUpon>RFIDParamSettingPage.cs</DependentUpon>
</Compile>
<Compile Include="UserControlPages\ParamConfigPages\EquipParamSettingPage.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UserControlPages\ParamConfigPages\EquipParamSettingPage.Designer.cs">
<DependentUpon>EquipParamSettingPage.cs</DependentUpon>
</Compile>
<Compile Include="UserControlPages\LogPages\AlarmLogPage.cs">
<SubType>UserControl</SubType>
@ -218,8 +224,11 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="UserControlPages\DeviceDataManage.resx">
<DependentUpon>DeviceDataManage.cs</DependentUpon>
<EmbeddedResource Include="UserControlPages\ParamConfigPages\RFIDParamSettingPage.resx">
<DependentUpon>RFIDParamSettingPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UserControlPages\ParamConfigPages\EquipParamSettingPage.resx">
<DependentUpon>EquipParamSettingPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UserControlPages\LogPages\AlarmLogPage.resx">
<DependentUpon>AlarmLogPage.cs</DependentUpon>

@ -66,6 +66,8 @@ namespace HighWayIot.Winform.MainForm
this.TimeStripLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.TimeDisplayTimer = new System.Windows.Forms.Timer(this.components);
this.DataRefreshTimer = new System.Windows.Forms.Timer(this.components);
this.RFIDParamManageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.DeviceParamManageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MainMenu.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
@ -227,10 +229,12 @@ namespace HighWayIot.Winform.MainForm
//
// DeviceDataManageToolStripMenuItem
//
this.DeviceDataManageToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.RFIDParamManageToolStripMenuItem,
this.DeviceParamManageToolStripMenuItem});
this.DeviceDataManageToolStripMenuItem.Name = "DeviceDataManageToolStripMenuItem";
this.DeviceDataManageToolStripMenuItem.Size = new System.Drawing.Size(92, 22);
this.DeviceDataManageToolStripMenuItem.Text = "设备数据管理";
this.DeviceDataManageToolStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
this.DeviceDataManageToolStripMenuItem.Size = new System.Drawing.Size(68, 22);
this.DeviceDataManageToolStripMenuItem.Text = "参数管理";
//
// UserControlTabs
//
@ -328,6 +332,20 @@ namespace HighWayIot.Winform.MainForm
//
this.DataRefreshTimer.Tick += new System.EventHandler(this.DataRefreshTimer_Tick);
//
// RFIDParamManageToolStripMenuItem
//
this.RFIDParamManageToolStripMenuItem.Name = "RFIDParamManageToolStripMenuItem";
this.RFIDParamManageToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.RFIDParamManageToolStripMenuItem.Text = "RFID参数配置";
this.RFIDParamManageToolStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
//
// DeviceParamManageToolStripMenuItem
//
this.DeviceParamManageToolStripMenuItem.Name = "DeviceParamManageToolStripMenuItem";
this.DeviceParamManageToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.DeviceParamManageToolStripMenuItem.Text = "设备参数配置";
this.RFIDParamManageToolStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
//
// BaseForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -385,5 +403,7 @@ namespace HighWayIot.Winform.MainForm
private ToolStripMenuItem MaterialTypeConfigStripItem;
private ToolStripMenuItem DeviceDataManageToolStripMenuItem;
private Timer DataRefreshTimer;
private ToolStripMenuItem RFIDParamManageToolStripMenuItem;
private ToolStripMenuItem DeviceParamManageToolStripMenuItem;
}
}

@ -2,6 +2,7 @@
using HighWayIot.Winform.Business;
using HighWayIot.Winform.UserControlPages;
using HighWayIot.Winform.UserControlPages.MaterialConfigPages;
using HighWayIot.Winform.UserControlPages.ParamConfigPages;
using HighWayIot.Winform.UserControlPages.SysConfigPages;
using System;
using System.Collections.Generic;
@ -122,8 +123,11 @@ namespace HighWayIot.Winform.MainForm
case "生产排程":
UserPanelSwitch(typeof(ProductionScheduling), button.Text);
break;
case "设备数据管理":
UserPanelSwitch(typeof(ProductionScheduling), button.Text);
case "RFID参数配置":
UserPanelSwitch(typeof(RFIDParamSettingPage), button.Text);
break;
case "设备参数配置":
UserPanelSwitch(typeof(EquipParamSettingPage), button.Text);
break;
case "":
break;

@ -1,111 +0,0 @@
namespace HighWayIot.Winform.UserControlPages
{
partial class DeviceDataManage
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(94, 30);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(110, 20);
this.comboBox1.TabIndex = 0;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(355, 179);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "小车参数设置";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(23, 34);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 1;
this.label1.Text = "设备号选择";
//
// button1
//
this.button1.Font = new System.Drawing.Font("宋体", 12F);
this.button1.Location = new System.Drawing.Point(25, 70);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(126, 41);
this.button1.TabIndex = 2;
this.button1.Text = "从PLC上传";
this.button1.UseVisualStyleBackColor = true;
//
// button2
//
this.button2.Font = new System.Drawing.Font("宋体", 12F);
this.button2.Location = new System.Drawing.Point(195, 70);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(126, 41);
this.button2.TabIndex = 3;
this.button2.Text = "下传到PLC";
this.button2.UseVisualStyleBackColor = true;
//
// DeviceDataManage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.Controls.Add(this.groupBox1);
this.Name = "DeviceDataManage";
this.Size = new System.Drawing.Size(1293, 884);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button2;
}
}

@ -0,0 +1,98 @@
using System.Drawing;
using System.Windows.Forms;
namespace HighWayIot.Winform.UserControlPages.ParamConfigPages
{
partial class EquipParamSettingPage
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.RoleDataGridView = new System.Windows.Forms.DataGridView();
this.AddRole = new System.Windows.Forms.Button();
this.ButtonPanel = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.RoleDataGridView)).BeginInit();
this.ButtonPanel.SuspendLayout();
this.SuspendLayout();
//
// RoleDataGridView
//
this.RoleDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.RoleDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.RoleDataGridView.Location = new System.Drawing.Point(0, 65);
this.RoleDataGridView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.RoleDataGridView.Name = "RoleDataGridView";
this.RoleDataGridView.RowTemplate.Height = 25;
this.RoleDataGridView.Size = new System.Drawing.Size(883, 497);
this.RoleDataGridView.TabIndex = 0;
this.RoleDataGridView.Tag = "";
//
// AddRole
//
this.AddRole.Location = new System.Drawing.Point(11, 11);
this.AddRole.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.AddRole.Name = "AddRole";
this.AddRole.Size = new System.Drawing.Size(103, 39);
this.AddRole.TabIndex = 1;
this.AddRole.Text = "查询操作信息";
this.AddRole.UseVisualStyleBackColor = true;
//
// ButtonPanel
//
this.ButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ButtonPanel.Controls.Add(this.AddRole);
this.ButtonPanel.Location = new System.Drawing.Point(0, 0);
this.ButtonPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ButtonPanel.Name = "ButtonPanel";
this.ButtonPanel.Size = new System.Drawing.Size(883, 61);
this.ButtonPanel.TabIndex = 4;
//
// OperateConfigPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.Controls.Add(this.ButtonPanel);
this.Controls.Add(this.RoleDataGridView);
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.Name = "OperateConfigPage";
this.Size = new System.Drawing.Size(883, 562);
((System.ComponentModel.ISupportInitialize)(this.RoleDataGridView)).EndInit();
this.ButtonPanel.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DataGridView RoleDataGridView;
private Button AddRole;
private Panel ButtonPanel;
}
}

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HighWayIot.Winform.UserControlPages.ParamConfigPages
{
public partial class EquipParamSettingPage : UserControl
{
public EquipParamSettingPage()
{
InitializeComponent();
}
private void UpdateRole_Click(object sender, EventArgs e)
{
}
}
}

@ -0,0 +1,98 @@
using System.Drawing;
using System.Windows.Forms;
namespace HighWayIot.Winform.UserControlPages.ParamConfigPages
{
partial class RFIDParamSettingPage
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.RoleDataGridView = new System.Windows.Forms.DataGridView();
this.AddRole = new System.Windows.Forms.Button();
this.ButtonPanel = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.RoleDataGridView)).BeginInit();
this.ButtonPanel.SuspendLayout();
this.SuspendLayout();
//
// RoleDataGridView
//
this.RoleDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.RoleDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.RoleDataGridView.Location = new System.Drawing.Point(0, 65);
this.RoleDataGridView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.RoleDataGridView.Name = "RoleDataGridView";
this.RoleDataGridView.RowTemplate.Height = 25;
this.RoleDataGridView.Size = new System.Drawing.Size(1171, 742);
this.RoleDataGridView.TabIndex = 0;
this.RoleDataGridView.Tag = "";
//
// AddRole
//
this.AddRole.Location = new System.Drawing.Point(11, 11);
this.AddRole.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.AddRole.Name = "AddRole";
this.AddRole.Size = new System.Drawing.Size(103, 39);
this.AddRole.TabIndex = 1;
this.AddRole.Text = "查询操作信息";
this.AddRole.UseVisualStyleBackColor = true;
//
// ButtonPanel
//
this.ButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ButtonPanel.Controls.Add(this.AddRole);
this.ButtonPanel.Location = new System.Drawing.Point(0, 0);
this.ButtonPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ButtonPanel.Name = "ButtonPanel";
this.ButtonPanel.Size = new System.Drawing.Size(1171, 61);
this.ButtonPanel.TabIndex = 4;
//
// RFIDParamSettingPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.Controls.Add(this.ButtonPanel);
this.Controls.Add(this.RoleDataGridView);
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.Name = "RFIDParamSettingPage";
this.Size = new System.Drawing.Size(1171, 807);
((System.ComponentModel.ISupportInitialize)(this.RoleDataGridView)).EndInit();
this.ButtonPanel.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DataGridView RoleDataGridView;
private Button AddRole;
private Panel ButtonPanel;
}
}

@ -8,13 +8,18 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HighWayIot.Winform.UserControlPages
namespace HighWayIot.Winform.UserControlPages.ParamConfigPages
{
public partial class DeviceDataManage : UserControl
public partial class RFIDParamSettingPage : UserControl
{
public DeviceDataManage()
public RFIDParamSettingPage()
{
InitializeComponent();
}
private void UpdateRole_Click(object sender, EventArgs e)
{
}
}
}

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
Loading…
Cancel
Save