diff --git a/HighWayIot.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 6da11dd..883c7c2 100644
Binary files a/HighWayIot.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache b/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache
index 6f15ce9..e546f70 100644
Binary files a/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache and b/HighWayIot.Common/obj/Debug/HighWayIot.Common.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Log4net/HighWayIot.Log4net.csproj b/HighWayIot.Log4net/HighWayIot.Log4net.csproj
index 034984b..5e6c523 100644
--- a/HighWayIot.Log4net/HighWayIot.Log4net.csproj
+++ b/HighWayIot.Log4net/HighWayIot.Log4net.csproj
@@ -49,7 +49,9 @@
-
+
+ Always
+
\ No newline at end of file
diff --git a/HighWayIot.Log4net/LogHelper.cs b/HighWayIot.Log4net/LogHelper.cs
index 5a74e1f..fcf0c82 100644
--- a/HighWayIot.Log4net/LogHelper.cs
+++ b/HighWayIot.Log4net/LogHelper.cs
@@ -11,6 +11,7 @@ namespace HighWayIot.Log4net
public class LogHelper
{
private static readonly Lazy lazy = new Lazy(() => new LogHelper());
+
public static LogHelper Instance
{
get
@@ -19,6 +20,8 @@ namespace HighWayIot.Log4net
}
}
+ string currentDirectory = Environment.CurrentDirectory;
+
private readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
private readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
private readonly log4net.ILog logView = log4net.LogManager.GetLogger("viewlog");
@@ -32,7 +35,7 @@ namespace HighWayIot.Log4net
*
*/
//private readonly string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
- private readonly string fileName = "Z:\\Desktop\\日常代码\\HighWayIot\\HighWayIot.Log4net\\config\\log4net.config";
+ private readonly string fileName = $"{Environment.CurrentDirectory}\\config\\log4net.config";
private LogHelper()
{
diff --git a/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.dll b/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.dll
index 30bae7e..a62a330 100644
Binary files a/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.dll and b/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.dll differ
diff --git a/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.pdb b/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.pdb
index a3ec7c8..4159c1e 100644
Binary files a/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.pdb and b/HighWayIot.Log4net/bin/Debug/HighWayIot.Log4net.pdb differ
diff --git a/HighWayIot.Log4net/bin/Debug/config/log4net.config b/HighWayIot.Log4net/bin/Debug/config/log4net.config
new file mode 100644
index 0000000..a5e25be
--- /dev/null
+++ b/HighWayIot.Log4net/bin/Debug/config/log4net.config
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HighWayIot.Log4net/config/log4net.config b/HighWayIot.Log4net/config/log4net.config
index c3c4ef3..2596fb6 100644
--- a/HighWayIot.Log4net/config/log4net.config
+++ b/HighWayIot.Log4net/config/log4net.config
@@ -10,44 +10,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/HighWayIot.Log4net/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Log4net/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index ccf231d..d1d24a3 100644
Binary files a/HighWayIot.Log4net/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Log4net/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayI.1F38289C.Up2Date b/HighWayIot.Log4net/obj/Debug/HighWayI.1F38289C.Up2Date
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.AssemblyReference.cache b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.AssemblyReference.cache
index 11724aa..0dc0264 100644
Binary files a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.AssemblyReference.cache and b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.CoreCompileInputs.cache b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.CoreCompileInputs.cache
index 9c16cd0..9177475 100644
--- a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.CoreCompileInputs.cache
+++ b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-59081c031c66312c4725da63a7bc5bcf0307991e
+9838eac57cd8b6a40084a57069c9b0ca58743284d6829e144889c80041b96e8d
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.FileListAbsolute.txt b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.FileListAbsolute.txt
index 90151ce..90d3179 100644
--- a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.FileListAbsolute.txt
+++ b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.csproj.FileListAbsolute.txt
@@ -21,3 +21,12 @@ C:\项目代码\澳柯玛MES项目\HighWayIot\HighWayIot.Log4net\obj\Debug\HighW
C:\项目代码\澳柯玛MES项目\HighWayIot\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.csproj.CopyComplete
C:\项目代码\澳柯玛MES项目\HighWayIot\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.dll
C:\项目代码\澳柯玛MES项目\HighWayIot\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\bin\Debug\HighWayIot.Log4net.dll
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\bin\Debug\HighWayIot.Log4net.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\bin\Debug\log4net.dll
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.csproj.AssemblyReference.cache
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.csproj.CoreCompileInputs.cache
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\obj\Debug\HighWayI.1F38289C.Up2Date
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.dll
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\obj\Debug\HighWayIot.Log4net.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Log4net\bin\Debug\config\log4net.config
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.dll b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.dll
index 30bae7e..a62a330 100644
Binary files a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.dll and b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.dll differ
diff --git a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.pdb b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.pdb
index a3ec7c8..4159c1e 100644
Binary files a/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.pdb and b/HighWayIot.Log4net/obj/Debug/HighWayIot.Log4net.pdb differ
diff --git a/HighWayIot.Mqtt/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Mqtt/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 7409024..d50f4b5 100644
Binary files a/HighWayIot.Mqtt/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Mqtt/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Mqtt/obj/Debug/HighWayIot.Mqtt.csproj.AssemblyReference.cache b/HighWayIot.Mqtt/obj/Debug/HighWayIot.Mqtt.csproj.AssemblyReference.cache
index e769893..8d06ed2 100644
Binary files a/HighWayIot.Mqtt/obj/Debug/HighWayIot.Mqtt.csproj.AssemblyReference.cache and b/HighWayIot.Mqtt/obj/Debug/HighWayIot.Mqtt.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Plc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Plc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 2be310f..bbb9df7 100644
Binary files a/HighWayIot.Plc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Plc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache b/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache
index d9459a0..500be60 100644
Binary files a/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache and b/HighWayIot.Plc/obj/Debug/HighWayIot.Plc.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Repository/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Repository/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index bd052bf..58ac739 100644
Binary files a/HighWayIot.Repository/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Repository/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache b/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache
index 41d2057..f5dc3b4 100644
Binary files a/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache and b/HighWayIot.Repository/obj/Debug/HighWayIot.Repository.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Rfid/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Rfid/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index ca74b68..166b3c3 100644
Binary files a/HighWayIot.Rfid/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.Rfid/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache b/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache
index 56fbdf9..7dacbf6 100644
Binary files a/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache and b/HighWayIot.Rfid/obj/Debug/HighWayIot.Rfid.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.TouchSocket/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.TouchSocket/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 06f5bd7..17d9ae2 100644
Binary files a/HighWayIot.TouchSocket/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot.TouchSocket/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.AssemblyReference.cache b/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.AssemblyReference.cache
index deaa92c..b4a3e57 100644
Binary files a/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.AssemblyReference.cache and b/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Winform/App.config b/HighWayIot.Winform/App.config
new file mode 100644
index 0000000..193aecc
--- /dev/null
+++ b/HighWayIot.Winform/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/HighWayIot.Winform.csproj b/HighWayIot.Winform/HighWayIot.Winform.csproj
new file mode 100644
index 0000000..230b044
--- /dev/null
+++ b/HighWayIot.Winform/HighWayIot.Winform.csproj
@@ -0,0 +1,147 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {E36F832C-5F90-491C-B3B7-E94C734FD292}
+ Exe
+ HighWayIot.Winform
+ HighWayIot.Winform
+ v4.8
+ 512
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ BaseForm.cs
+
+
+ Form
+
+
+ LoginForm.cs
+
+
+
+
+ UserControl
+
+
+ AlarmLogPage.cs
+
+
+ UserControl
+
+
+ OperateConfigPage.cs
+
+
+ UserControl
+
+
+ MonitorMainPage.cs
+
+
+ UserControl
+
+
+ RoleConfigPage.cs
+
+
+ UserControl
+
+
+ UserConfigPage.cs
+
+
+ BaseForm.cs
+
+
+ LoginForm.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+
+
+ AlarmLogPage.cs
+
+
+ OperateConfigPage.cs
+
+
+ MonitorMainPage.cs
+
+
+ RoleConfigPage.cs
+
+
+ UserConfigPage.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+ {DEABC30C-EC6F-472E-BD67-D65702FDAF74}
+ HighWayIot.Log4net
+
+
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/HighWayIot.Winform.csproj.user b/HighWayIot.Winform/HighWayIot.Winform.csproj.user
new file mode 100644
index 0000000..1d60279
--- /dev/null
+++ b/HighWayIot.Winform/HighWayIot.Winform.csproj.user
@@ -0,0 +1,10 @@
+
+
+
+ ShowAllFiles
+
+
+ Project
+ false
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/MainForm/BaseForm.Designer.cs b/HighWayIot.Winform/MainForm/BaseForm.Designer.cs
new file mode 100644
index 0000000..459caeb
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/BaseForm.Designer.cs
@@ -0,0 +1,174 @@
+
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.MainForm
+{
+ partial class BaseForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.MainMenu = new System.Windows.Forms.MenuStrip();
+ this.SysConfigStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.RoleStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.UserStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.SysQuitStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.LogoutStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.LogManageStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.OperateLogStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.AlarmLogStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.MonitorMainPageStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.UserControlTabs = new System.Windows.Forms.TabControl();
+ this.MainMenu.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // MainMenu
+ //
+ this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.SysConfigStripMenuItem,
+ this.LogManageStripMenuItem,
+ this.MonitorMainPageStripMenuItem});
+ this.MainMenu.Location = new System.Drawing.Point(0, 0);
+ this.MainMenu.Name = "MainMenu";
+ this.MainMenu.Padding = new System.Windows.Forms.Padding(5, 1, 0, 1);
+ this.MainMenu.Size = new System.Drawing.Size(1077, 24);
+ this.MainMenu.TabIndex = 1;
+ this.MainMenu.Text = "menuStrip1";
+ //
+ // SysConfigStripMenuItem
+ //
+ this.SysConfigStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.RoleStripMenuItem,
+ this.UserStripMenuItem,
+ this.SysQuitStripMenuItem,
+ this.LogoutStripMenuItem});
+ this.SysConfigStripMenuItem.Name = "SysConfigStripMenuItem";
+ this.SysConfigStripMenuItem.Size = new System.Drawing.Size(68, 22);
+ this.SysConfigStripMenuItem.Text = "系统设置";
+ //
+ // RoleStripMenuItem
+ //
+ this.RoleStripMenuItem.Name = "RoleStripMenuItem";
+ this.RoleStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.RoleStripMenuItem.Text = "角色管理";
+ this.RoleStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
+ //
+ // UserStripMenuItem
+ //
+ this.UserStripMenuItem.Name = "UserStripMenuItem";
+ this.UserStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.UserStripMenuItem.Text = "用户管理";
+ this.UserStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
+ //
+ // SysQuitStripMenuItem
+ //
+ this.SysQuitStripMenuItem.Name = "SysQuitStripMenuItem";
+ this.SysQuitStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.SysQuitStripMenuItem.Text = "退出系统";
+ this.SysQuitStripMenuItem.Click += new System.EventHandler(this.SysQuitStripMenuItem_Click);
+ //
+ // LogoutStripMenuItem
+ //
+ this.LogoutStripMenuItem.Name = "LogoutStripMenuItem";
+ this.LogoutStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.LogoutStripMenuItem.Text = "注销";
+ this.LogoutStripMenuItem.Click += new System.EventHandler(this.LogoutStripMenuItem_Click);
+ //
+ // LogManageStripMenuItem
+ //
+ this.LogManageStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.OperateLogStripMenuItem,
+ this.AlarmLogStripMenuItem});
+ this.LogManageStripMenuItem.Name = "LogManageStripMenuItem";
+ this.LogManageStripMenuItem.Size = new System.Drawing.Size(68, 22);
+ this.LogManageStripMenuItem.Text = "日志管理";
+ //
+ // OperateLogStripMenuItem
+ //
+ this.OperateLogStripMenuItem.Name = "OperateLogStripMenuItem";
+ this.OperateLogStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.OperateLogStripMenuItem.Text = "操作日志";
+ this.OperateLogStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
+ //
+ // AlarmLogStripMenuItem
+ //
+ this.AlarmLogStripMenuItem.Name = "AlarmLogStripMenuItem";
+ this.AlarmLogStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.AlarmLogStripMenuItem.Text = "报警日志";
+ this.AlarmLogStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
+ //
+ // MonitorMainPageStripMenuItem
+ //
+ this.MonitorMainPageStripMenuItem.Name = "MonitorMainPageStripMenuItem";
+ this.MonitorMainPageStripMenuItem.Size = new System.Drawing.Size(80, 22);
+ this.MonitorMainPageStripMenuItem.Text = "监控主页面";
+ this.MonitorMainPageStripMenuItem.Click += new System.EventHandler(this.StripMenuItemClick);
+ //
+ // UserControlTabs
+ //
+ this.UserControlTabs.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.UserControlTabs.Location = new System.Drawing.Point(0, 24);
+ this.UserControlTabs.Margin = new System.Windows.Forms.Padding(0);
+ this.UserControlTabs.Name = "UserControlTabs";
+ this.UserControlTabs.SelectedIndex = 0;
+ this.UserControlTabs.Size = new System.Drawing.Size(1078, 575);
+ this.UserControlTabs.TabIndex = 3;
+ //
+ // BaseForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(1077, 599);
+ this.Controls.Add(this.UserControlTabs);
+ this.Controls.Add(this.MainMenu);
+ this.MainMenuStrip = this.MainMenu;
+ this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.Name = "BaseForm";
+ this.Text = "大连软控开炼机成型机数据管理系统";
+ this.MainMenu.ResumeLayout(false);
+ this.MainMenu.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private MenuStrip MainMenu;
+ private ToolStripMenuItem SysConfigStripMenuItem;
+ private ToolStripMenuItem SysQuitStripMenuItem;
+ private ToolStripMenuItem LogoutStripMenuItem;
+ private ToolStripMenuItem RoleStripMenuItem;
+ private ToolStripMenuItem UserStripMenuItem;
+ private ToolStripMenuItem LogManageStripMenuItem;
+ private ToolStripMenuItem OperateLogStripMenuItem;
+ private ToolStripMenuItem AlarmLogStripMenuItem;
+ private ToolStripMenuItem MonitorMainPageStripMenuItem;
+ private TabControl UserControlTabs;
+ }
+}
\ No newline at end of file
diff --git a/HighWayIot.Winform/MainForm/BaseForm.cs b/HighWayIot.Winform/MainForm/BaseForm.cs
new file mode 100644
index 0000000..7c4b184
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/BaseForm.cs
@@ -0,0 +1,174 @@
+using HighWayIot.Log4net;
+using HighWayIot.Winform.UserControlPages;
+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;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+
+namespace HighWayIot.Winform.MainForm
+{
+ public partial class BaseForm : Form
+ {
+ private static LogHelper logger = LogHelper.Instance;
+
+ List UserControls = new List();
+
+ public BaseForm()
+ {
+ InitializeComponent();
+ Init();
+ }
+
+ ///
+ /// 初始化类
+ ///
+ public void Init()
+ {
+ logger.Info("主页面已启动");
+ UserPanelSwitch(typeof(MonitorMainPage), "监控主页面");
+
+ }
+
+ ///
+ /// 系统退出
+ ///
+ ///
+ ///
+ private void SysQuitStripMenuItem_Click(object sender, EventArgs e)
+ {
+
+ Application.Exit();
+ }
+
+ ///
+ /// 注销
+ ///
+ ///
+ ///
+ private void LogoutStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Application.Restart();
+ }
+
+ ///
+ /// 菜单事件
+ /// 菜单事件
+ ///
+ ///
+ ///
+ private void StripMenuItemClick(object sender, EventArgs e)
+ {
+ if (sender is ToolStripMenuItem && sender != null)
+ {
+ ToolStripMenuItem button = (ToolStripMenuItem)sender;
+ switch (button.Text)
+ {
+ case "角色管理":
+ UserPanelSwitch(typeof(RoleConfigPage), button.Text);
+ break;
+ case "用户管理":
+ UserPanelSwitch(typeof(UserConfigPage), button.Text);
+ break;
+ case "操作日志":
+ UserPanelSwitch(typeof(OperateConfigPage), button.Text);
+ break;
+ case "报警日志":
+ UserPanelSwitch(typeof(AlarmConfigPage), button.Text);
+ break;
+ case "监控主页面":
+ UserPanelSwitch(typeof(MonitorMainPage), button.Text);
+ break;
+ case "":
+ break;
+ default:
+ MessageBox.Show("找不到按钮!");
+ break;
+ }
+ }
+ }
+
+ ///
+ /// 切换前端页面,动态创建
+ ///
+ /// Usercontrol类型
+ /// 名称标签
+ private void UserPanelSwitch(Type userControlType, string tag)
+ {
+ bool flag = false;
+ foreach(UserControl us in UserControls)
+ {
+ if(us.GetType() == userControlType)
+ {
+ flag = true;
+ //如果在标签页里,切换选项卡
+ if (UserControlTabs.Contains(us) || us.Tag.ToString() == tag)
+ {
+ try
+ {
+ foreach(Control control in this.UserControlTabs.Controls)
+ {
+ if(control is TabPage page)
+ {
+ if(page.Text == tag)
+ {
+ UserControlTabs.SelectedTab = page;
+ }
+ }
+ }
+ }
+ catch(ArgumentNullException ex)
+ {
+ logger.Error("找不到相关标签页!请重启程序!", ex);
+ }
+ catch(Exception ex)
+ {
+ logger.Error("标签页未知错误!", ex);
+ }
+ }
+ //如果不在标签页里
+ else
+ {
+ TabPage tabPage = new TabPage(tag);
+ us.Parent = tabPage;
+ UserControlTabs.TabPages.Add(tabPage);
+ }
+ break;
+ }
+ }
+ if (!flag)
+ {
+ try
+ {
+ // 动态创建新的 UserControl 实例
+ object obj = Activator.CreateInstance(userControlType);
+ if (obj is UserControl newControl)
+ {
+ newControl.Tag = tag;
+ UserControls.Add(newControl); // 将新实例添加到列表
+ TabPage tabPage = new TabPage(tag);
+ newControl.Parent = tabPage;
+ newControl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
+ newControl.Dock = DockStyle.Fill;
+ UserControlTabs.TabPages.Add(tabPage);
+ UserControlTabs.SelectedTab = tabPage;
+ }
+ else
+ {
+ throw new InvalidOperationException($"类型 {userControlType.Name} 不是有效的 UserControl 类型");
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error("无法创建用户控件实例", ex);
+ MessageBox.Show($"无法创建用户控件实例:{ex.Message}", "错误");
+ }
+ }
+ }
+ }
+}
diff --git a/HighWayIot.Winform/MainForm/BaseForm.resx b/HighWayIot.Winform/MainForm/BaseForm.resx
new file mode 100644
index 0000000..6deb572
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/BaseForm.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/MainForm/LoginForm.Designer.cs b/HighWayIot.Winform/MainForm/LoginForm.Designer.cs
new file mode 100644
index 0000000..83c75f6
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/LoginForm.Designer.cs
@@ -0,0 +1,124 @@
+
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.MainForm
+{
+ partial class LoginForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ Login = new Button();
+ UserText = new TextBox();
+ PassText = new TextBox();
+ label1 = new Label();
+ label2 = new Label();
+ groupBox1 = new GroupBox();
+ groupBox1.SuspendLayout();
+ SuspendLayout();
+ //
+ // Login
+ //
+ Login.Location = new Point(79, 159);
+ Login.Name = "Login";
+ Login.Size = new Size(96, 39);
+ Login.TabIndex = 0;
+ Login.Text = "登录";
+ Login.UseVisualStyleBackColor = true;
+ Login.Click += Login_Click_1;
+ //
+ // UserText
+ //
+ UserText.Location = new Point(108, 39);
+ UserText.Name = "UserText";
+ UserText.Size = new Size(100, 23);
+ UserText.TabIndex = 1;
+ UserText.Text = "admin";
+ //
+ // PassText
+ //
+ PassText.Location = new Point(108, 100);
+ PassText.Name = "PassText";
+ PassText.Size = new Size(100, 23);
+ PassText.TabIndex = 2;
+ PassText.Text = "admin";
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.Location = new Point(42, 42);
+ label1.Name = "label1";
+ label1.Size = new Size(56, 17);
+ label1.TabIndex = 3;
+ label1.Text = "用户名:";
+ //
+ // label2
+ //
+ label2.AutoSize = true;
+ label2.Location = new Point(54, 103);
+ label2.Name = "label2";
+ label2.Size = new Size(44, 17);
+ label2.TabIndex = 4;
+ label2.Text = "密码:";
+ //
+ // groupBox1
+ //
+ groupBox1.Controls.Add(label2);
+ groupBox1.Controls.Add(label1);
+ groupBox1.Controls.Add(PassText);
+ groupBox1.Controls.Add(UserText);
+ groupBox1.Controls.Add(Login);
+ groupBox1.Location = new Point(376, 61);
+ groupBox1.Name = "groupBox1";
+ groupBox1.Size = new Size(249, 218);
+ groupBox1.TabIndex = 5;
+ groupBox1.TabStop = false;
+ groupBox1.Text = "用户登录";
+ //
+ // LoginForm
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(693, 355);
+ Controls.Add(groupBox1);
+ Name = "LoginForm";
+ Text = "大连软控开炼机成型机数据管理系统 - 登录界面";
+ groupBox1.ResumeLayout(false);
+ groupBox1.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private Button Login;
+ private TextBox UserText;
+ private TextBox PassText;
+ private Label label1;
+ private Label label2;
+ private GroupBox groupBox1;
+ }
+}
diff --git a/HighWayIot.Winform/MainForm/LoginForm.cs b/HighWayIot.Winform/MainForm/LoginForm.cs
new file mode 100644
index 0000000..fa8a43b
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/LoginForm.cs
@@ -0,0 +1,40 @@
+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.MainForm
+{
+ public partial class LoginForm : Form
+ {
+ public LoginForm()
+ {
+ InitializeComponent();
+ }
+
+ ///
+ /// ½֤
+ ///
+ ///
+ ///
+ private void Login_Click_1(object sender, EventArgs e)
+ {
+ //֤˺룬ݿ֤ɹ
+ if (UserText.Text == "admin" && PassText.Text == "admin")
+ {
+ DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ else
+ {
+ MessageBox.Show("˺Ż");
+ return;
+ }
+ }
+ }
+}
diff --git a/HighWayIot.Winform/MainForm/LoginForm.resx b/HighWayIot.Winform/MainForm/LoginForm.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/HighWayIot.Winform/MainForm/LoginForm.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/Program.cs b/HighWayIot.Winform/Program.cs
new file mode 100644
index 0000000..f4db8b7
--- /dev/null
+++ b/HighWayIot.Winform/Program.cs
@@ -0,0 +1,47 @@
+using HighWayIot.Log4net;
+using HighWayIot.Winform.MainForm;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform
+{
+ internal static class Program
+ {
+ private static LogHelper logger = LogHelper.Instance;
+
+ [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
+ [return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)]
+ public static extern bool AllocConsole();
+
+ [System.Runtime.InteropServices.DllImport("Kernel32")]
+ public static extern void FreeConsole();
+
+ ///
+ /// 应用程序的主入口点。
+ ///
+ [STAThread]
+ static void Main()
+ {
+ AllocConsole();//调用系统API,调用控制台窗口
+ Console.OutputEncoding = System.Text.Encoding.UTF8;
+
+ // 设置控制台编码为系统默认编码(解决乱码问题)
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ //创建窗体
+ LoginForm loginform = new LoginForm();
+ logger.Info("程序初始化成功");
+ //验证成功显示主窗体
+ if (loginform.ShowDialog() == DialogResult.OK)
+ {
+ logger.Info("登陆成功");
+ Application.Run(new BaseForm());
+ }
+ FreeConsole();//释放控制台
+ }
+ }
+}
diff --git a/HighWayIot.Winform/Properties/AssemblyInfo.cs b/HighWayIot.Winform/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..3b2264d
--- /dev/null
+++ b/HighWayIot.Winform/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("HighWayIot.Winform")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HighWayIot.Winform")]
+[assembly: AssemblyCopyright("Copyright © 2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("e36f832c-5f90-491c-b3b7-e94c734fd292")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/HighWayIot.Winform/Properties/Resources.Designer.cs b/HighWayIot.Winform/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..906457c
--- /dev/null
+++ b/HighWayIot.Winform/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本: 4.0.30319.42000
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace HighWayIot.Winform.Properties
+{
+
+
+ ///
+ /// 强类型资源类,用于查找本地化字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// 返回此类使用的缓存 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HighWayIot.Winform.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/HighWayIot.Winform/Properties/Resources.resx b/HighWayIot.Winform/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/HighWayIot.Winform/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/Properties/Settings.Designer.cs b/HighWayIot.Winform/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..9c7217f
--- /dev/null
+++ b/HighWayIot.Winform/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace HighWayIot.Winform.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/HighWayIot.Winform/Properties/Settings.settings b/HighWayIot.Winform/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/HighWayIot.Winform/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.Designer.cs b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.Designer.cs
new file mode 100644
index 0000000..debf606
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.Designer.cs
@@ -0,0 +1,99 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.UserControlPages
+{
+ partial class AlarmConfigPage
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ 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;
+ //
+ // 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;
+ this.ButtonPanel.Tag = "报警日志";
+ //
+ // AlarmConfigPage
+ //
+ 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 = "AlarmConfigPage";
+ this.Size = new System.Drawing.Size(883, 562);
+ this.Tag = "";
+ ((System.ComponentModel.ISupportInitialize)(this.RoleDataGridView)).EndInit();
+ this.ButtonPanel.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private DataGridView RoleDataGridView;
+ private Button AddRole;
+ private Panel ButtonPanel;
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.cs b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.cs
new file mode 100644
index 0000000..e561cde
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.cs
@@ -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
+{
+ public partial class AlarmConfigPage : UserControl
+ {
+ public AlarmConfigPage()
+ {
+ InitializeComponent();
+ }
+
+ private void UpdateRole_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.resx b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/AlarmLogPage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.Designer.cs b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.Designer.cs
new file mode 100644
index 0000000..000f0f4
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.Designer.cs
@@ -0,0 +1,98 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.UserControlPages
+{
+ partial class OperateConfigPage
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ 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;
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.cs b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.cs
new file mode 100644
index 0000000..6f8f531
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.cs
@@ -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
+{
+ public partial class OperateConfigPage : UserControl
+ {
+ public OperateConfigPage()
+ {
+ InitializeComponent();
+ }
+
+ private void UpdateRole_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.resx b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/LogPages/OperateConfigPage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/UserControlPages/MonitorMainPage.Designer.cs b/HighWayIot.Winform/UserControlPages/MonitorMainPage.Designer.cs
new file mode 100644
index 0000000..b83b95d
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/MonitorMainPage.Designer.cs
@@ -0,0 +1,67 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.UserControlPages
+{
+ partial class MonitorMainPage
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.label1 = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 50.25F);
+ this.label1.Location = new System.Drawing.Point(241, 211);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(372, 88);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "主页面控件";
+ //
+ // MonitorMainPage
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoScroll = true;
+ this.AutoSize = true;
+ this.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ this.Controls.Add(this.label1);
+ this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.Name = "MonitorMainPage";
+ this.Size = new System.Drawing.Size(808, 525);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private Label label1;
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/MonitorMainPage.cs b/HighWayIot.Winform/UserControlPages/MonitorMainPage.cs
new file mode 100644
index 0000000..4661e39
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/MonitorMainPage.cs
@@ -0,0 +1,20 @@
+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
+{
+ public partial class MonitorMainPage : UserControl
+ {
+ public MonitorMainPage()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/MonitorMainPage.resx b/HighWayIot.Winform/UserControlPages/MonitorMainPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/MonitorMainPage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.Designer.cs b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.Designer.cs
new file mode 100644
index 0000000..5c6f3c8
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.Designer.cs
@@ -0,0 +1,124 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.UserControlPages
+{
+ partial class RoleConfigPage
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.RoleDataGridView = new System.Windows.Forms.DataGridView();
+ this.AddRole = new System.Windows.Forms.Button();
+ this.UpdateRole = new System.Windows.Forms.Button();
+ this.DeleteRole = 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;
+ //
+ // 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;
+ //
+ // UpdateRole
+ //
+ this.UpdateRole.Location = new System.Drawing.Point(131, 11);
+ this.UpdateRole.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.UpdateRole.Name = "UpdateRole";
+ this.UpdateRole.Size = new System.Drawing.Size(103, 39);
+ this.UpdateRole.TabIndex = 2;
+ this.UpdateRole.Text = "修改角色信息";
+ this.UpdateRole.UseVisualStyleBackColor = true;
+ this.UpdateRole.Click += new System.EventHandler(this.UpdateRole_Click);
+ //
+ // DeleteRole
+ //
+ this.DeleteRole.Location = new System.Drawing.Point(250, 11);
+ this.DeleteRole.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.DeleteRole.Name = "DeleteRole";
+ this.DeleteRole.Size = new System.Drawing.Size(103, 39);
+ this.DeleteRole.TabIndex = 3;
+ this.DeleteRole.Text = "删除角色信息";
+ this.DeleteRole.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.DeleteRole);
+ this.ButtonPanel.Controls.Add(this.UpdateRole);
+ 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;
+ //
+ // RoleConfigPage
+ //
+ 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 = "RoleConfigPage";
+ 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 Button UpdateRole;
+ private Button DeleteRole;
+ private Panel ButtonPanel;
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.cs b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.cs
new file mode 100644
index 0000000..c4bc0f2
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.cs
@@ -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
+{
+ public partial class RoleConfigPage : UserControl
+ {
+ public RoleConfigPage()
+ {
+ InitializeComponent();
+ }
+
+ private void UpdateRole_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.resx b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/RoleConfigPage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.Designer.cs b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.Designer.cs
new file mode 100644
index 0000000..f27ee0d
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.Designer.cs
@@ -0,0 +1,138 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace HighWayIot.Winform.UserControlPages
+{
+ partial class UserConfigPage
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.UserDataGridView = new System.Windows.Forms.DataGridView();
+ this.AddUser = new System.Windows.Forms.Button();
+ this.UpdateUser = new System.Windows.Forms.Button();
+ this.DeleteUser = new System.Windows.Forms.Button();
+ this.ButtonPanel = new System.Windows.Forms.Panel();
+ this.checkBox1 = new System.Windows.Forms.CheckBox();
+ ((System.ComponentModel.ISupportInitialize)(this.UserDataGridView)).BeginInit();
+ this.ButtonPanel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // UserDataGridView
+ //
+ this.UserDataGridView.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.UserDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.UserDataGridView.Location = new System.Drawing.Point(0, 65);
+ this.UserDataGridView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.UserDataGridView.Name = "UserDataGridView";
+ this.UserDataGridView.RowTemplate.Height = 25;
+ this.UserDataGridView.Size = new System.Drawing.Size(883, 497);
+ this.UserDataGridView.TabIndex = 0;
+ //
+ // AddUser
+ //
+ this.AddUser.Location = new System.Drawing.Point(11, 11);
+ this.AddUser.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.AddUser.Name = "AddUser";
+ this.AddUser.Size = new System.Drawing.Size(103, 39);
+ this.AddUser.TabIndex = 1;
+ this.AddUser.Text = "添加用户";
+ this.AddUser.UseVisualStyleBackColor = true;
+ //
+ // UpdateUser
+ //
+ this.UpdateUser.Location = new System.Drawing.Point(131, 11);
+ this.UpdateUser.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.UpdateUser.Name = "UpdateUser";
+ this.UpdateUser.Size = new System.Drawing.Size(103, 39);
+ this.UpdateUser.TabIndex = 2;
+ this.UpdateUser.Text = "修改用户信息";
+ this.UpdateUser.UseVisualStyleBackColor = true;
+ this.UpdateUser.Click += new System.EventHandler(this.UpdateUser_Click);
+ //
+ // DeleteUser
+ //
+ this.DeleteUser.Location = new System.Drawing.Point(250, 11);
+ this.DeleteUser.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.DeleteUser.Name = "DeleteUser";
+ this.DeleteUser.Size = new System.Drawing.Size(103, 39);
+ this.DeleteUser.TabIndex = 3;
+ this.DeleteUser.Text = "删除用户信息";
+ this.DeleteUser.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.checkBox1);
+ this.ButtonPanel.Controls.Add(this.DeleteUser);
+ this.ButtonPanel.Controls.Add(this.UpdateUser);
+ this.ButtonPanel.Controls.Add(this.AddUser);
+ 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;
+ //
+ // checkBox1
+ //
+ this.checkBox1.AutoSize = true;
+ this.checkBox1.Location = new System.Drawing.Point(693, 20);
+ this.checkBox1.Name = "checkBox1";
+ this.checkBox1.Size = new System.Drawing.Size(78, 16);
+ this.checkBox1.TabIndex = 4;
+ this.checkBox1.Text = "checkBox1";
+ this.checkBox1.UseVisualStyleBackColor = true;
+ //
+ // UserConfigPage
+ //
+ 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.UserDataGridView);
+ this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+ this.Name = "UserConfigPage";
+ this.Size = new System.Drawing.Size(883, 562);
+ ((System.ComponentModel.ISupportInitialize)(this.UserDataGridView)).EndInit();
+ this.ButtonPanel.ResumeLayout(false);
+ this.ButtonPanel.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private DataGridView UserDataGridView;
+ private Button AddUser;
+ private Button UpdateUser;
+ private Button DeleteUser;
+ private Panel ButtonPanel;
+ private CheckBox checkBox1;
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.cs b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.cs
new file mode 100644
index 0000000..385ec7a
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.cs
@@ -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
+{
+ public partial class UserConfigPage : UserControl
+ {
+ public UserConfigPage()
+ {
+ InitializeComponent();
+ }
+
+ private void UpdateUser_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.resx b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/HighWayIot.Winform/UserControlPages/SysConfigPages/UserConfigPage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/bin/Debug.zip b/HighWayIot.Winform/bin/Debug.zip
new file mode 100644
index 0000000..d8cab21
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug.zip differ
diff --git a/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.dll b/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.dll
new file mode 100644
index 0000000..a62a330
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.dll differ
diff --git a/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.pdb b/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.pdb
new file mode 100644
index 0000000..4159c1e
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug/HighWayIot.Log4net.pdb differ
diff --git a/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe
new file mode 100644
index 0000000..ea70197
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe differ
diff --git a/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe.config b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe.config
new file mode 100644
index 0000000..193aecc
--- /dev/null
+++ b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.pdb b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.pdb
new file mode 100644
index 0000000..958543e
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug/HighWayIot.Winform.pdb differ
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/LogError.html b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/LogError.html
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/LogInfo.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/LogInfo.txt
new file mode 100644
index 0000000..4479512
--- /dev/null
+++ b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/LogInfo.txt
@@ -0,0 +1,25 @@
+<-------------->
+־ʱ䣺2024-11-21 17:38:28,229 [1]
+־INFO
+־ݣʼɹ
+ <-------------->
+־ʱ䣺2024-11-21 17:38:32,997 [1]
+־INFO
+־ݣ½ɹ
+ <-------------->
+־ʱ䣺2024-11-21 17:38:33,006 [1]
+־INFO
+־ݣҳ
+ <-------------->
+־ʱ䣺2024-11-21 17:44:09,707 [1]
+־INFO
+־ݣʼɹ
+ <-------------->
+־ʱ䣺2024-11-21 17:44:10,767 [1]
+־INFO
+־ݣ½ɹ
+ <-------------->
+־ʱ䣺2024-11-21 17:44:10,803 [1]
+־INFO
+־ݣҳ
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/PlcLog.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/PlcLog.txt
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/RfidLog.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/RfidLog.txt
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/SemaphoreLog.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/SemaphoreLog.txt
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/SqlLog.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/SqlLog.txt
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/Log/2024-11-21/ViewLog.txt b/HighWayIot.Winform/bin/Debug/Log/2024-11-21/ViewLog.txt
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/bin/Debug/config/log4net.config b/HighWayIot.Winform/bin/Debug/config/log4net.config
new file mode 100644
index 0000000..a5e25be
--- /dev/null
+++ b/HighWayIot.Winform/bin/Debug/config/log4net.config
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HighWayIot.Winform/bin/Debug/log4net.dll b/HighWayIot.Winform/bin/Debug/log4net.dll
new file mode 100644
index 0000000..8646b6f
Binary files /dev/null and b/HighWayIot.Winform/bin/Debug/log4net.dll differ
diff --git a/HighWayIot.Winform/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/HighWayIot.Winform/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs
new file mode 100644
index 0000000..15efebf
--- /dev/null
+++ b/HighWayIot.Winform/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
diff --git a/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferences.cache
new file mode 100644
index 0000000..e21ce80
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..c2d315f
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayI.5D24C9AB.Up2Date b/HighWayIot.Winform/obj/Debug/HighWayI.5D24C9AB.Up2Date
new file mode 100644
index 0000000..e69de29
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.BaseForm.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.BaseForm.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.BaseForm.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.LoginForm.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.LoginForm.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.MainForm.LoginForm.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.Properties.Resources.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.Properties.Resources.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.Properties.Resources.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.AlarmConfigPage.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.AlarmConfigPage.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.AlarmConfigPage.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.MonitorMainPage.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.MonitorMainPage.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.MonitorMainPage.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.OperateConfigPage.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.OperateConfigPage.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.OperateConfigPage.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.RoleConfigPage.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.RoleConfigPage.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.RoleConfigPage.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.UserConfigPage.resources b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.UserConfigPage.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.UserControlPages.UserConfigPage.resources differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.AssemblyReference.cache b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..9239ed0
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.AssemblyReference.cache differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.CoreCompileInputs.cache b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..39d0ac5
--- /dev/null
+++ b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+8bac36f619685f763d92b5b05f1101a90aac1931b5f1c57a19bece5082ec27e9
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.FileListAbsolute.txt b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..d4c9ca2
--- /dev/null
+++ b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.FileListAbsolute.txt
@@ -0,0 +1,21 @@
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\HighWayIot.Winform.exe.config
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\HighWayIot.Winform.exe
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\HighWayIot.Winform.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.csproj.AssemblyReference.cache
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.Properties.Resources.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.csproj.GenerateResource.cache
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.csproj.CoreCompileInputs.cache
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.exe
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\HighWayIot.Log4net.dll
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\log4net.dll
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\HighWayIot.Log4net.pdb
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayI.5D24C9AB.Up2Date
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\bin\Debug\config\log4net.config
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.MainForm.BaseForm.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.MainForm.LoginForm.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.UserControlPages.MonitorMainPage.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.UserControlPages.UserConfigPage.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.UserControlPages.AlarmConfigPage.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.UserControlPages.OperateConfigPage.resources
+D:\WorkCode\DLML-SCADA\HighWayIot.Winform\obj\Debug\HighWayIot.Winform.UserControlPages.RoleConfigPage.resources
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.GenerateResource.cache b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.GenerateResource.cache
new file mode 100644
index 0000000..d9daea6
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.csproj.GenerateResource.cache differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.exe b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.exe
new file mode 100644
index 0000000..ea70197
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.exe differ
diff --git a/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.pdb b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.pdb
new file mode 100644
index 0000000..958543e
Binary files /dev/null and b/HighWayIot.Winform/obj/Debug/HighWayIot.Winform.pdb differ
diff --git a/HighWayIot.sln b/HighWayIot.sln
index 2c8096a..e0e119b 100644
--- a/HighWayIot.sln
+++ b/HighWayIot.sln
@@ -19,6 +19,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HighWayIot.TouchSocket", "H
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HighWayIot.Mqtt", "HighWayIot.Mqtt\HighWayIot.Mqtt.csproj", "{CD9B8712-0E09-42D2-849B-B8EAB02C7AB8}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HighWayIot.Winform", "HighWayIot.Winform\HighWayIot.Winform.csproj", "{E36F832C-5F90-491C-B3B7-E94C734FD292}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -57,6 +59,10 @@ Global
{CD9B8712-0E09-42D2-849B-B8EAB02C7AB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD9B8712-0E09-42D2-849B-B8EAB02C7AB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD9B8712-0E09-42D2-849B-B8EAB02C7AB8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E36F832C-5F90-491C-B3B7-E94C734FD292}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E36F832C-5F90-491C-B3B7-E94C734FD292}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E36F832C-5F90-491C-B3B7-E94C734FD292}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E36F832C-5F90-491C-B3B7-E94C734FD292}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/HighWayIot/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HighWayIot/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index c14520b..1a7e371 100644
Binary files a/HighWayIot/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/HighWayIot/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache b/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache
index 434375b..ac3fed5 100644
Binary files a/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache and b/HighWayIot/obj/Debug/HighWayIot.csproj.AssemblyReference.cache differ