diff --git a/Diaoyong/App.config b/Diaoyong/App.config new file mode 100644 index 0000000..4bfa005 --- /dev/null +++ b/Diaoyong/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Diaoyong/ConnectionTest.Designer.cs b/Diaoyong/ConnectionTest.Designer.cs new file mode 100644 index 0000000..2d50331 --- /dev/null +++ b/Diaoyong/ConnectionTest.Designer.cs @@ -0,0 +1,212 @@ +namespace Diaoyong +{ + partial class ConnectionTest + { + /// + /// 必需的设计器变量。 + /// + 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.label2 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.clientIP1 = new System.Windows.Forms.TextBox(); + this.ClientPort = new System.Windows.Forms.TextBox(); + this.test = new System.Windows.Forms.Button(); + this.ok = new System.Windows.Forms.Button(); + this.clientIP2 = new System.Windows.Forms.TextBox(); + this.clientIP3 = new System.Windows.Forms.TextBox(); + this.clientIP4 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.label1.Location = new System.Drawing.Point(79, 42); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(125, 31); + this.label1.TabIndex = 0; + this.label1.Text = "Client IP:"; + this.label1.Click += new System.EventHandler(this.label1_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.label2.Location = new System.Drawing.Point(79, 97); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(149, 31); + this.label2.TabIndex = 1; + this.label2.Text = "Client Port:"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.label4.Location = new System.Drawing.Point(79, 205); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(0, 31); + this.label4.TabIndex = 3; + // + // clientIP1 + // + this.clientIP1.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.clientIP1.Location = new System.Drawing.Point(291, 38); + this.clientIP1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.clientIP1.MaxLength = 3; + this.clientIP1.Name = "clientIP1"; + this.clientIP1.Size = new System.Drawing.Size(58, 38); + this.clientIP1.TabIndex = 4; + this.clientIP1.TextChanged += new System.EventHandler(this.clientIP1_TextChanged); + this.clientIP1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.clientIP1_KeyPress); + // + // ClientPort + // + this.ClientPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.ClientPort.Location = new System.Drawing.Point(291, 92); + this.ClientPort.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ClientPort.MaxLength = 4; + this.ClientPort.Name = "ClientPort"; + this.ClientPort.Size = new System.Drawing.Size(248, 38); + this.ClientPort.TabIndex = 6; + this.ClientPort.TextChanged += new System.EventHandler(this.ClientPort_TextChanged); + // + // test + // + this.test.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.test.Location = new System.Drawing.Point(118, 178); + this.test.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.test.Name = "test"; + this.test.Size = new System.Drawing.Size(142, 39); + this.test.TabIndex = 8; + this.test.Text = "TEST"; + this.test.UseVisualStyleBackColor = true; + this.test.Click += new System.EventHandler(this.test_Click); + // + // ok + // + this.ok.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.ok.Location = new System.Drawing.Point(327, 178); + this.ok.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ok.Name = "ok"; + this.ok.Size = new System.Drawing.Size(148, 39); + this.ok.TabIndex = 9; + this.ok.Text = "OK"; + this.ok.UseVisualStyleBackColor = true; + this.ok.Click += new System.EventHandler(this.ok_Click); + // + // clientIP2 + // + this.clientIP2.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.clientIP2.Location = new System.Drawing.Point(354, 38); + this.clientIP2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.clientIP2.MaxLength = 3; + this.clientIP2.Name = "clientIP2"; + this.clientIP2.Size = new System.Drawing.Size(58, 38); + this.clientIP2.TabIndex = 10; + this.clientIP2.TextChanged += new System.EventHandler(this.clientIP2_TextChanged); + // + // clientIP3 + // + this.clientIP3.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.clientIP3.Location = new System.Drawing.Point(417, 38); + this.clientIP3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.clientIP3.MaxLength = 3; + this.clientIP3.Name = "clientIP3"; + this.clientIP3.Size = new System.Drawing.Size(58, 38); + this.clientIP3.TabIndex = 11; + this.clientIP3.TextChanged += new System.EventHandler(this.clientIP3_TextChanged); + // + // clientIP4 + // + this.clientIP4.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.clientIP4.Location = new System.Drawing.Point(480, 38); + this.clientIP4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.clientIP4.MaxLength = 3; + this.clientIP4.Name = "clientIP4"; + this.clientIP4.Size = new System.Drawing.Size(58, 38); + this.clientIP4.TabIndex = 12; + this.clientIP4.TextChanged += new System.EventHandler(this.clientIP4_TextChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(80, 141); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(98, 31); + this.label3.TabIndex = 13; + this.label3.Text = "状态:"; + // + // label5 + // + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(291, 134); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(247, 38); + this.label5.TabIndex = 14; + // + // ConnectionTest + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(625, 232); + this.Controls.Add(this.label5); + this.Controls.Add(this.label3); + this.Controls.Add(this.clientIP4); + this.Controls.Add(this.clientIP3); + this.Controls.Add(this.clientIP2); + this.Controls.Add(this.ok); + this.Controls.Add(this.test); + this.Controls.Add(this.ClientPort); + this.Controls.Add(this.clientIP1); + this.Controls.Add(this.label4); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.Name = "ConnectionTest"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox clientIP1; + private System.Windows.Forms.TextBox ClientPort; + private System.Windows.Forms.Button test; + private System.Windows.Forms.Button ok; + private System.Windows.Forms.TextBox clientIP2; + private System.Windows.Forms.TextBox clientIP3; + private System.Windows.Forms.TextBox clientIP4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label5; + } +} diff --git a/Diaoyong/ConnectionTest.cs b/Diaoyong/ConnectionTest.cs new file mode 100644 index 0000000..f12963e --- /dev/null +++ b/Diaoyong/ConnectionTest.cs @@ -0,0 +1,429 @@ +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 System.Net; +using System.Net.Sockets; +using System.Threading; +using System.IO; + +namespace Diaoyong +{ + public partial class ConnectionTest : Form + { + const int NumberOfSupportedCameras = 8; + public Thread recvThread = null; + public bool m_Done = false; + static byte[] clientIP = new byte[] { 192, 168, 31, 243 }; + static byte[] localIP = new byte[] { 192, 168, 31, 226 }; + static int clientport = 3333; + + public ConnectionTest() + { + InitializeComponent(); + } + + public void SendMsg(string obj, byte[] ip, int port) + { + byte[] IP = ip; + try + { + UdpClient udpcSend = new UdpClient(0); + byte[] sendbytes = Encoding.UTF8.GetBytes(obj); + // IPEndPoint remoteIpep = new IPEndPoint(IPAddress.Parse("192.168.31.243"), 3333); + IPEndPoint remoteIpep = new IPEndPoint(new IPAddress(IP), port); + udpcSend.Send(sendbytes, sendbytes.Length, remoteIpep); + udpcSend.Close(); + } + catch + { + } + } + + public void RecMsg(byte[] ip, int port) + { + // UdpClient udpcSend = new UdpClient(0); + // byte[] sendbytes = Encoding.UTF8.GetBytes(obj); + // IPEndPoint remoteIpep = new IPEndPoint(new IPAddress(IP), dataPort); + // byte[] sendbytes = udpcSend.Receive(ref remoteIpep); + // udpcSend.Close(); + byte[] IP = ip; + UdpClient u = null; + try + { + if (u == null) + { + u = new UdpClient(new IPEndPoint(new IPAddress(IP), port)); + // recvThread = new Thread(new ThreadStart(Received)); + // recvThread.Priority = ThreadPriority.Normal; + // recvThread.Start(); + u.Client.ReceiveTimeout = 100; + } + Received(u); + } + catch(Exception ex) + { + DialogResult dr = MessageBox.Show(ex.ToString(), "连接失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + private void Received(UdpClient u) + { + //ASCII 编码 + Encoding ASCII = Encoding.ASCII; + int tryLoop = 0; + while (!m_Done) + { + IPEndPoint endpoint = null; + try + { + Byte[] data = u.Receive(ref endpoint); + //得到数据的ACSII的字符串形式 + String receiveString = ASCII.GetString(data); + if (receiveString != null) + { + String[] str = receiveString.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); + if (str[0].CompareTo("HandShake") == 0) //connect success + { + if(str.Length > 1) + { + if(str[1].CompareTo("UnlockOk") == 0) + { + WindowsFormsApp2.UserControl1.status[0] = 1; + } + else if(str[1].CompareTo("LockOk") == 0) + { + WindowsFormsApp2.UserControl1.status[0] = 0; + } + } + if (str.Length > 2) + { + if (str[2].CompareTo("DebugEn") == 0) + { + WindowsFormsApp2.UserControl1.status[1] = 1; + } + else if (str[2].CompareTo("DebugDis") == 0) + { + WindowsFormsApp2.UserControl1.status[1] = 0; + } + } + if (str.Length > 3) + { + if (str[3].CompareTo("UnKickOk") == 0) + { + WindowsFormsApp2.UserControl1.status[2] = 1; + } + else if (str[3].CompareTo("KickOk") == 0) + { + WindowsFormsApp2.UserControl1.status[2] = 0; + } + } + //DialogResult dr = MessageBox.Show("连接成功!", "连接成功", MessageBoxButtons.OK, MessageBoxIcon.Warning); + u.Close(); + //u.Dispose(); + break; + } + } + } + catch + { + //SOCKETEventArrive("receive:Nullerror"); + } + tryLoop++;//1 loop = 100ms + if(tryLoop == 50) + m_Done = true; + } + u.Close(); + //u.Dispose(); + } + + private void label1_Click(object sender, EventArgs e) + { + + } + + private void clientIP1_TextChanged(object sender, EventArgs e) + { + if ((int.Parse(this.clientIP1.Text) > 255) && (this.clientIP1.Text.Length > 0)) + this.clientIP1.Text = null; + } + + private void clientIP2_TextChanged(object sender, EventArgs e) + { + if ((int.Parse(this.clientIP2.Text) > 255) && (this.clientIP1.Text.Length > 0)) + this.clientIP1.Text = null; + } + + private void clientIP3_TextChanged(object sender, EventArgs e) + { + if ((int.Parse(this.clientIP3.Text) > 255) && (this.clientIP1.Text.Length > 0)) + this.clientIP1.Text = null; + } + + private void clientIP4_TextChanged(object sender, EventArgs e) + { + if ((int.Parse(this.clientIP4.Text) > 255) && (this.clientIP1.Text.Length > 0)) + this.clientIP1.Text = null; + } + + private void ClientPort_TextChanged(object sender, EventArgs e) + { + if (this.ClientPort.Text.Length > 4) + this.clientIP1.Text = null; + } + + private void clientIP1_KeyPress(object sender, KeyPressEventArgs e) + { + if(!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) + e.Handled = true; + } + + private void clientIP2_KeyPress(object sender, KeyPressEventArgs e) + { + if (!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) + e.Handled = true; + } + + private void clientIP3_KeyPress(object sender, KeyPressEventArgs e) + { + if (!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) + e.Handled = true; + } + + private void clientIP4_KeyPress(object sender, KeyPressEventArgs e) + { + if (!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) + e.Handled = true; + } + + private void ClientPort_KeyPress(object sender, KeyPressEventArgs e) + { + if (!(char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) + e.Handled = true; + } + + private void ok_Click(object sender, EventArgs e) + { + try + { + //获取主机名 + string HostName = Dns.GetHostName(); + IPHostEntry IpEntry = Dns.GetHostEntry(HostName); + for (int i = 0; i < IpEntry.AddressList.Length; i++) + { + //从IP地址列表中筛选出IPv4类型的IP地址 + //AddressFamily.InterNetwork表示此IP为IPv4, + //AddressFamily.InterNetworkV6表示此地址为IPv6类型 + if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork) + { + localIP = IpEntry.AddressList[i].GetAddressBytes(); + } + } + } + catch (Exception ex) + { + DialogResult dr = MessageBox.Show("获取本机IP失败!", "获取本机IP失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + if ((this.clientIP1.Text.Length != 0) && + (this.clientIP2.Text.Length != 0) && + (this.clientIP3.Text.Length != 0) && + (this.clientIP4.Text.Length != 0) && + (this.ClientPort.ToString().Length != 0) + ) { + + clientIP[0] = (byte)(int.Parse(this.clientIP1.Text)); + clientIP[1] = (byte)(int.Parse(this.clientIP2.Text)); + clientIP[2] = (byte)(int.Parse(this.clientIP3.Text)); + clientIP[3] = (byte)(int.Parse(this.clientIP4.Text)); + + clientport = int.Parse(this.ClientPort.Text.ToString()); + } + else + { + DialogResult dr = MessageBox.Show("输入有误,请重新输入!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + WindowsFormsApp2.DialogLogin.localIP = localIP; + WindowsFormsApp2.DialogLogin.clientIP = clientIP; + WindowsFormsApp2.DialogLogin.ordPort = clientport+NumberOfSupportedCameras*2+1; + WindowsFormsApp2.DialogLogin.feedPort = clientport+NumberOfSupportedCameras*2; + + WindowsFormsApp2.UserControl1.localIP = localIP; + WindowsFormsApp2.UserControl1.clientIP = clientIP; + WindowsFormsApp2.UserControl1.ordPort = clientport+NumberOfSupportedCameras*2+1; + WindowsFormsApp2.UserControl1.feedPort = clientport+NumberOfSupportedCameras*2; + WindowsFormsApp2.UserControl1.filePort = clientport+NumberOfSupportedCameras*2+2; + + + WindowsFormsApp2.Client.localIP = localIP; + WindowsFormsApp2.Client.clientIP = clientIP; + WindowsFormsApp2.Client.dataPort = clientport; + WindowsFormsApp2.Client.imagePort = clientport+NumberOfSupportedCameras; + this.Close(); + } + + private void connection_Test(byte[] clientIP, int clientport, byte[] localIP) + { + + String data = "CONNECTIONTEST:"; + data += clientIP.ToString(); + + data += (clientport + NumberOfSupportedCameras * 2 + 1).ToString(); + data += ":"; + data += (clientport + NumberOfSupportedCameras * 2).ToString(); + + SendMsg(data, clientIP, clientport + NumberOfSupportedCameras * 2 + 1); + RecMsg(localIP, clientport + NumberOfSupportedCameras * 2); + } + + private void test_Click(object sender, EventArgs e) + { + try + { + //获取主机名 + string HostName = Dns.GetHostName(); + IPHostEntry IpEntry = Dns.GetHostEntry(HostName); + for (int i = 0; i < IpEntry.AddressList.Length; i++) + { + //从IP地址列表中筛选出IPv4类型的IP地址 + //AddressFamily.InterNetwork表示此IP为IPv4, + //AddressFamily.InterNetworkV6表示此地址为IPv6类型 + if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork) + { + localIP = IpEntry.AddressList[i].GetAddressBytes(); + } + } + } + catch (Exception ex) + { + DialogResult dr = MessageBox.Show("获取本机IP失败!", "获取本机IP失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + if ((this.clientIP1.Text.Length != 0) && + (this.clientIP2.Text.Length != 0) && + (this.clientIP3.Text.Length != 0) && + (this.clientIP4.Text.Length != 0) && + (this.ClientPort.ToString().Length != 0) + ) + { + + clientport = int.Parse(this.ClientPort.Text.ToString()); + + clientIP[0] = (byte)(int.Parse(this.clientIP1.Text)); + clientIP[1] = (byte)(int.Parse(this.clientIP2.Text)); + clientIP[2] = (byte)(int.Parse(this.clientIP3.Text)); + clientIP[3] = (byte)(int.Parse(this.clientIP4.Text)); + } + else + { + DialogResult dr = MessageBox.Show("输入有误,请重新输入!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + + connection_Test(clientIP, clientport, localIP); + } + + public void ConnectionTesting() + { + connection_Test(clientIP, clientport, localIP); + } + + public void UpdateLableStatus(string str) + { + label5.Text = str; + } + public void conf_Load() + { + string ReadLine; + string Path = "IPconf.txt"; + try + { + StreamReader reader = new StreamReader(Path); + while (reader.Peek() >= 0) + { + + ReadLine = reader.ReadLine(); + if (ReadLine != "") + { + int index = ReadLine.IndexOf('='); + if(index!= -1) + { + string firststr = ReadLine.Substring(0, index); + + if (firststr == "MonitorIP") + { + string secendstr = ReadLine.Substring(index + 1); + string[] ipstr = secendstr.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); + clientIP[0] = (byte)(int.Parse(ipstr[0])); + clientIP[1] = (byte)(int.Parse(ipstr[1])); + clientIP[2] = (byte)(int.Parse(ipstr[2])); + clientIP[3] = (byte)(int.Parse(ipstr[3])); + } + else if (firststr == "MonitorPort") + { + clientport = Convert.ToInt32(ReadLine.Substring(index + 1)); + } + } + } + } + reader.Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.ToString()); + } + + try + { + //获取主机名 + string HostName = Dns.GetHostName(); + IPHostEntry IpEntry = Dns.GetHostEntry(HostName); + for (int i = 0; i < IpEntry.AddressList.Length; i++) + { + //从IP地址列表中筛选出IPv4类型的IP地址 + //AddressFamily.InterNetwork表示此IP为IPv4, + //AddressFamily.InterNetworkV6表示此地址为IPv6类型 + if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork) + { + localIP = IpEntry.AddressList[i].GetAddressBytes(); + } + } + } + catch (Exception ex) + { + DialogResult dr = MessageBox.Show("获取本机IP失败!", "获取本机IP失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + WindowsFormsApp2.DialogLogin.localIP = localIP; + WindowsFormsApp2.DialogLogin.clientIP = clientIP; + WindowsFormsApp2.DialogLogin.ordPort = clientport + NumberOfSupportedCameras * 2 + 1; + WindowsFormsApp2.DialogLogin.feedPort = clientport + NumberOfSupportedCameras * 2; + + WindowsFormsApp2.UserControl1.localIP = localIP; + WindowsFormsApp2.UserControl1.clientIP = clientIP; + WindowsFormsApp2.UserControl1.ordPort = clientport + NumberOfSupportedCameras * 2 + 1; + WindowsFormsApp2.UserControl1.feedPort = clientport + NumberOfSupportedCameras * 2; + WindowsFormsApp2.UserControl1.filePort = clientport+NumberOfSupportedCameras*2+2; + + WindowsFormsApp2.Client.localIP = localIP; + WindowsFormsApp2.Client.clientIP = clientIP; + WindowsFormsApp2.Client.dataPort = clientport; + WindowsFormsApp2.Client.imagePort = clientport + NumberOfSupportedCameras; + + this.clientIP1.Text = clientIP[0].ToString(); + this.clientIP2.Text = clientIP[1].ToString(); + this.clientIP3.Text = clientIP[2].ToString(); + this.clientIP4.Text = clientIP[3].ToString(); + this.ClientPort.Text = clientport.ToString(); + } + } +} diff --git a/Diaoyong/ConnectionTest.resx b/Diaoyong/ConnectionTest.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Diaoyong/ConnectionTest.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/Diaoyong/Diaoyong.csproj b/Diaoyong/Diaoyong.csproj new file mode 100644 index 0000000..0e1babd --- /dev/null +++ b/Diaoyong/Diaoyong.csproj @@ -0,0 +1,101 @@ + + + + + Debug + AnyCPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064} + WinExe + Diaoyong + Diaoyong + v4.8 + 512 + true + + + + x64 + true + full + false + ..\Publish\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + ..\Publish\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + False + ..\Publish\WindowsFormsApp2.dll + + + + + Form + + + Form1.cs + + + + + Form + + + ConnectionTest.cs + + + ConnectionTest.cs + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/Diaoyong/Form1.Designer.cs b/Diaoyong/Form1.Designer.cs new file mode 100644 index 0000000..69561c1 --- /dev/null +++ b/Diaoyong/Form1.Designer.cs @@ -0,0 +1,73 @@ +namespace Diaoyong +{ + partial class Form1 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows 窗体设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.displayResult1 = new WindowsFormsApp2.displayResult(); + this.SuspendLayout(); + // + // displayResult1 + // + this.displayResult1.AutoSize = true; + this.displayResult1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.displayResult1.BackColor = System.Drawing.Color.Black; + this.displayResult1.Dock = System.Windows.Forms.DockStyle.Fill; + this.displayResult1.Location = new System.Drawing.Point(0, 0); + this.displayResult1.Margin = new System.Windows.Forms.Padding(5); + this.displayResult1.MaximumSize = new System.Drawing.Size(1330, 900); + this.displayResult1.MinimumSize = new System.Drawing.Size(1330, 900); + this.displayResult1.Name = "displayResult1"; + this.displayResult1.Size = new System.Drawing.Size(1330, 900); + this.displayResult1.TabIndex = 0; + this.displayResult1.Load += new System.EventHandler(this.displayResult1_Load); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(120F, 120F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.AutoSize = true; + this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.ClientSize = new System.Drawing.Size(1312, 903); + this.Controls.Add(this.displayResult1); + this.Margin = new System.Windows.Forms.Padding(4); + this.MaximumSize = new System.Drawing.Size(1330, 1000); + this.MinimumSize = new System.Drawing.Size(1330, 950); + this.Name = "Form1"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "胶点检测系统"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private WindowsFormsApp2.displayResult displayResult1; + } +} + diff --git a/Diaoyong/Form1.cs b/Diaoyong/Form1.cs new file mode 100644 index 0000000..aa3610c --- /dev/null +++ b/Diaoyong/Form1.cs @@ -0,0 +1,37 @@ +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 Diaoyong +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + protected override void OnShown(EventArgs e) + { + displayResult1.init(); + base.OnShown(e); + } + + protected override void OnClosing(CancelEventArgs e) + { + displayResult1.close(); + base.OnClosing(e); + } + + private void displayResult1_Load(object sender, EventArgs e) + { + + } + } +} diff --git a/Diaoyong/Form1.resx b/Diaoyong/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Diaoyong/Form1.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/Diaoyong/Program.cs b/Diaoyong/Program.cs new file mode 100644 index 0000000..0960aa4 --- /dev/null +++ b/Diaoyong/Program.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Runtime.InteropServices; + +namespace Diaoyong +{ + static class Program + { + [DllImport("user32.dll", EntryPoint = "FindWindow", CharSet = CharSet.Auto)] + private extern static IntPtr FindWindow(string lpClassName, string lpWindowName); + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern int PostMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); + + /// + /// 应用程序的主入口点。 + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + ConnectionTest connectionTest = new ConnectionTest(); + connectionTest.conf_Load(); + + connectionTest.StartPosition = FormStartPosition.CenterScreen; + connectionTest.TopMost = true; + connectionTest.Show(); + connectionTest.UpdateLableStatus("正在测试连接..."); + connectionTest.Refresh();//强制控件使其工作区无效并立即重绘自己和任何子控件 + connectionTest.ConnectionTesting(); + if (connectionTest.m_Done == false) + { + connectionTest.Close(); + Form1 form = new Form1(); + form.StartPosition = FormStartPosition.CenterScreen; + Application.Run(form); + } + else + { + connectionTest.UpdateLableStatus("连接失败"); + DialogResult dr = MessageBox.Show("连接超时,请检查IP地址和端口是否正确!", "连接失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + } +} diff --git a/Diaoyong/Properties/AssemblyInfo.cs b/Diaoyong/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..27fcfd9 --- /dev/null +++ b/Diaoyong/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("Diaoyong")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Diaoyong")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("5b1a5431-03f2-4d26-802b-c68d64fc6064")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Diaoyong/Properties/Resources.Designer.cs b/Diaoyong/Properties/Resources.Designer.cs new file mode 100644 index 0000000..3ccc5d2 --- /dev/null +++ b/Diaoyong/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace Diaoyong.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Diaoyong.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/Diaoyong/Properties/Resources.resx b/Diaoyong/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Diaoyong/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/Diaoyong/Properties/Settings.Designer.cs b/Diaoyong/Properties/Settings.Designer.cs new file mode 100644 index 0000000..0b12535 --- /dev/null +++ b/Diaoyong/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace Diaoyong.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.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/Diaoyong/Properties/Settings.settings b/Diaoyong/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Diaoyong/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Diaoyong/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs b/Diaoyong/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs new file mode 100644 index 0000000..3aa5318 --- /dev/null +++ b/Diaoyong/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] diff --git a/Diaoyong/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/Diaoyong/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/Diaoyong/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/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..ed53d5c Binary files /dev/null and b/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..4e1dea5 Binary files /dev/null and b/Diaoyong/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Diaoyong/obj/Debug/Diaoyong.ConnectionTest.resources b/Diaoyong/obj/Debug/Diaoyong.ConnectionTest.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.ConnectionTest.resources differ diff --git a/Diaoyong/obj/Debug/Diaoyong.Form1.resources b/Diaoyong/obj/Debug/Diaoyong.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.Form1.resources differ diff --git a/Diaoyong/obj/Debug/Diaoyong.Properties.Resources.resources b/Diaoyong/obj/Debug/Diaoyong.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.Properties.Resources.resources differ diff --git a/Diaoyong/obj/Debug/Diaoyong.csproj.AssemblyReference.cache b/Diaoyong/obj/Debug/Diaoyong.csproj.AssemblyReference.cache new file mode 100644 index 0000000..a17f7fd Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.csproj.AssemblyReference.cache differ diff --git a/Diaoyong/obj/Debug/Diaoyong.csproj.CoreCompileInputs.cache b/Diaoyong/obj/Debug/Diaoyong.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..c46a307 --- /dev/null +++ b/Diaoyong/obj/Debug/Diaoyong.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +04bf2dc5143223b57ebea0cf2883e39dde73273d diff --git a/Diaoyong/obj/Debug/Diaoyong.csproj.FileListAbsolute.txt b/Diaoyong/obj/Debug/Diaoyong.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..660b547 --- /dev/null +++ b/Diaoyong/obj/Debug/Diaoyong.csproj.FileListAbsolute.txt @@ -0,0 +1,64 @@ +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\Diaoyong.exe.config +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\Diaoyong.exe +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\Diaoyong.pdb +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.SuggestedBindingRedirects.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.ConnectionTest.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.Form1.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.Properties.Resources.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CopyComplete +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.exe +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Diaoyong\obj\Debug\Diaoyong.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\Diaoyong.exe.config +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\Diaoyong.exe +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\Diaoyong.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.SuggestedBindingRedirects.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.ConnectionTest.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Form1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Properties.Resources.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CopyComplete +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.exe +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.pdb +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.exe.config +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.exe +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.pdb +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csprojAssemblyReference.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.ConnectionTest.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Form1.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Properties.Resources.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.GenerateResource.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CoreCompileInputs.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CopyComplete +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.exe +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.pdb +D:\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.exe.config +D:\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.exe +D:\230512-UDPSend\230508-UDPSend\Publish\Diaoyong.pdb +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.AssemblyReference.cache +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.SuggestedBindingRedirects.cache +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.ConnectionTest.resources +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Form1.resources +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.Properties.Resources.resources +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.GenerateResource.cache +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CoreCompileInputs.cache +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.csproj.CopyComplete +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.exe +D:\230512-UDPSend\230508-UDPSend\Diaoyong\obj\Debug\Diaoyong.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\Diaoyong.exe.config +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\Diaoyong.exe +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\Diaoyong.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.csproj.SuggestedBindingRedirects.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.ConnectionTest.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.Form1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.Properties.Resources.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.csproj.CopyComplete +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.exe +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Diaoyong\obj\Debug\Diaoyong.pdb diff --git a/Diaoyong/obj/Debug/Diaoyong.csproj.GenerateResource.cache b/Diaoyong/obj/Debug/Diaoyong.csproj.GenerateResource.cache new file mode 100644 index 0000000..9b3ea75 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.csproj.GenerateResource.cache differ diff --git a/Diaoyong/obj/Debug/Diaoyong.csproj.SuggestedBindingRedirects.cache b/Diaoyong/obj/Debug/Diaoyong.csproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 diff --git a/Diaoyong/obj/Debug/Diaoyong.csprojAssemblyReference.cache b/Diaoyong/obj/Debug/Diaoyong.csprojAssemblyReference.cache new file mode 100644 index 0000000..4d75e17 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.csprojAssemblyReference.cache differ diff --git a/Diaoyong/obj/Debug/Diaoyong.exe b/Diaoyong/obj/Debug/Diaoyong.exe new file mode 100644 index 0000000..0e5cdd0 Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.exe differ diff --git a/Diaoyong/obj/Debug/Diaoyong.pdb b/Diaoyong/obj/Debug/Diaoyong.pdb new file mode 100644 index 0000000..b077d0c Binary files /dev/null and b/Diaoyong/obj/Debug/Diaoyong.pdb differ diff --git a/Diaoyong/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Diaoyong/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..135ac0e Binary files /dev/null and b/Diaoyong/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/Diaoyong/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Diaoyong/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/Diaoyong/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Diaoyong/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/Diaoyong/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Diaoyong/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/IPconf.txt b/IPconf.txt new file mode 100644 index 0000000..3b60a14 --- /dev/null +++ b/IPconf.txt @@ -0,0 +1,2 @@ +MonitorIP=192.168.10.119 +MonitorPort=3000 \ No newline at end of file diff --git a/WindowsFormsApp2.sln b/WindowsFormsApp2.sln new file mode 100644 index 0000000..c07a4a3 --- /dev/null +++ b/WindowsFormsApp2.sln @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33103.184 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsFormsApp2", "WindowsFormsApp2\WindowsFormsApp2.csproj", "{83837354-1A01-4DF5-99D7-27FE79D43A86}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diaoyong", "Diaoyong\Diaoyong.csproj", "{5B1A5431-03F2-4D26-802B-C68D64FC6064}" + ProjectSection(ProjectDependencies) = postProject + {83837354-1A01-4DF5-99D7-27FE79D43A86} = {83837354-1A01-4DF5-99D7-27FE79D43A86} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Debug|Any CPU.Build.0 = Debug|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Debug|x64.ActiveCfg = Debug|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Debug|x64.Build.0 = Debug|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Release|Any CPU.ActiveCfg = Release|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Release|Any CPU.Build.0 = Release|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Release|x64.ActiveCfg = Release|Any CPU + {83837354-1A01-4DF5-99D7-27FE79D43A86}.Release|x64.Build.0 = Release|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Debug|x64.ActiveCfg = Debug|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Debug|x64.Build.0 = Debug|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Release|Any CPU.Build.0 = Release|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Release|x64.ActiveCfg = Release|Any CPU + {5B1A5431-03F2-4D26-802B-C68D64FC6064}.Release|x64.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0095BF77-092F-4D8D-8882-C51DDB5F71E8} + EndGlobalSection +EndGlobal diff --git a/WindowsFormsApp2/Alarm_Record.Designer.cs b/WindowsFormsApp2/Alarm_Record.Designer.cs new file mode 100644 index 0000000..73f2523 --- /dev/null +++ b/WindowsFormsApp2/Alarm_Record.Designer.cs @@ -0,0 +1,60 @@ +namespace WindowsFormsApp2 +{ + partial class Alarm_Record + { + /// + /// 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.listView1 = new System.Windows.Forms.ListView(); + this.SuspendLayout(); + // + // listView1 + // + this.listView1.GridLines = true; + this.listView1.HideSelection = false; + this.listView1.Location = new System.Drawing.Point(12, 12); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(881, 508); + this.listView1.TabIndex = 0; + this.listView1.UseCompatibleStateImageBehavior = false; + // + // Alarm_Record + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(905, 532); + this.Controls.Add(this.listView1); + this.Name = "Alarm_Record"; + this.Text = "Alarm_Record"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ListView listView1; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/Alarm_Record.cs b/WindowsFormsApp2/Alarm_Record.cs new file mode 100644 index 0000000..f84ddb3 --- /dev/null +++ b/WindowsFormsApp2/Alarm_Record.cs @@ -0,0 +1,61 @@ +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 System.IO; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; +using System.Net.NetworkInformation; + +namespace WindowsFormsApp2 +{ + public partial class Alarm_Record : Form + { + public Alarm_Record() + { + InitializeComponent(); + } + public void UpdateDialog() + { + this.listView1.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度 + + this.listView1.View = View.Details; //显示方式(注意View是Details详细显示) + this.listView1.GridLines = true; //行和列是否显示网格线 + this.listView1.LabelEdit = true; //是否可编辑 + this.listView1.Scrollable = true; //没有足够的空间显示时,是否添加滚动条 + this.listView1.HeaderStyle = ColumnHeaderStyle.Clickable; //对表头进行设置 + this.listView1.FullRowSelect = true; //是否可以选择行 + this.listView1.MultiSelect = false; //禁止多选 + this.listView1.Columns[3].Width = 0; //用于隐藏第四列的指令标号 不让用户看见 + + this.listView1.Clear(); //从控件中移除所有项和列(包括列表头) + this.listView1.Columns.Add("报警开始时间", 120, HorizontalAlignment.Left); + this.listView1.Columns.Add("报警处理时间", 120, HorizontalAlignment.Left); + this.listView1.Columns.Add("报警信息", 120, HorizontalAlignment.Left); + this.listView1.Columns.Add("报警代码", 120, HorizontalAlignment.Left); + + string path = @"alarm.txt"; + if (File.Exists(path)) + { + foreach (string text in System.IO.File.ReadLines(path)) + { + if (text.IndexOf('_') != -1) + { + string[] str = text.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); + ListViewItem list = new ListViewItem(); //新建ListViewItem对象:list + list.SubItems.Add(str[0]); + list.SubItems.Add(str[1]); + list.SubItems.Add(str[2]); + list.SubItems.Add(str[3]); + this.listView1.Items.Add(list); + } + } + } + this.listView1.EndUpdate(); //结束数据处理,UI界面一次性绘制。 + } + } +} diff --git a/WindowsFormsApp2/Alarm_Record.resx b/WindowsFormsApp2/Alarm_Record.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/Alarm_Record.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/WindowsFormsApp2/App.config b/WindowsFormsApp2/App.config new file mode 100644 index 0000000..4bfa005 --- /dev/null +++ b/WindowsFormsApp2/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/WindowsFormsApp2/Camera_glue.Designer.cs b/WindowsFormsApp2/Camera_glue.Designer.cs new file mode 100644 index 0000000..8c986c5 --- /dev/null +++ b/WindowsFormsApp2/Camera_glue.Designer.cs @@ -0,0 +1,546 @@ +namespace WindowsFormsApp2 +{ + partial class Camera_glue + { + /// + /// 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.label_pic1 = new System.Windows.Forms.Label(); + this.label_pic2 = new System.Windows.Forms.Label(); + this.label_pic3 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label_tips = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.numericUpDown11 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown31 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown23 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown22 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown21 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown13 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown12 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown33 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown32 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown41 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown43 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown42 = new System.Windows.Forms.NumericUpDown(); + this.button1 = new System.Windows.Forms.Button(); + this.numericUpDown52 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown53 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown51 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown62 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown63 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown61 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown72 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown73 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown71 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown82 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown83 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown81 = new System.Windows.Forms.NumericUpDown(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown31)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown23)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown33)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown32)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown41)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown43)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown42)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown52)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown53)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown51)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown62)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown63)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown61)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown72)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown73)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown71)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown82)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown83)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown81)).BeginInit(); + this.SuspendLayout(); + // + // label_pic1 + // + this.label_pic1.AutoSize = true; + this.label_pic1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label_pic1.Location = new System.Drawing.Point(20, 60); + this.label_pic1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_pic1.Name = "label_pic1"; + this.label_pic1.Size = new System.Drawing.Size(72, 20); + this.label_pic1.TabIndex = 0; + this.label_pic1.Text = "第一张"; + // + // label_pic2 + // + this.label_pic2.AutoSize = true; + this.label_pic2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label_pic2.Location = new System.Drawing.Point(20, 103); + this.label_pic2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_pic2.Name = "label_pic2"; + this.label_pic2.Size = new System.Drawing.Size(72, 20); + this.label_pic2.TabIndex = 1; + this.label_pic2.Text = "第二张"; + // + // label_pic3 + // + this.label_pic3.AutoSize = true; + this.label_pic3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label_pic3.Location = new System.Drawing.Point(20, 146); + this.label_pic3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_pic3.Name = "label_pic3"; + this.label_pic3.Size = new System.Drawing.Size(72, 20); + this.label_pic3.TabIndex = 2; + this.label_pic3.Text = "第三张"; + // + // label_expo1 + // + this.label1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label1.Location = new System.Drawing.Point(90, 16); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label_expo1"; + this.label1.Size = new System.Drawing.Size(83, 20); + this.label1.TabIndex = 3; + this.label1.Text = "1号相机"; + // + // numericUpDown11 + // + this.numericUpDown11.Location = new System.Drawing.Point(95, 60); + this.numericUpDown11.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown11.Name = "numericUpDown11"; + this.numericUpDown11.Size = new System.Drawing.Size(78, 25); + this.numericUpDown11.TabIndex = 4; + // + // numericUpDown12 + // + this.numericUpDown12.Location = new System.Drawing.Point(95, 103); + this.numericUpDown12.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown12.Name = "numericUpDown12"; + this.numericUpDown12.Size = new System.Drawing.Size(78, 25); + this.numericUpDown12.TabIndex = 5; + // + // numericUpDown13 + // + this.numericUpDown13.Location = new System.Drawing.Point(95, 146); + this.numericUpDown13.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown13.Name = "numericUpDown13"; + this.numericUpDown13.Size = new System.Drawing.Size(78, 25); + this.numericUpDown13.TabIndex = 6; + // + // label_expo2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label2.Location = new System.Drawing.Point(188, 16); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label_expo2"; + this.label2.Size = new System.Drawing.Size(83, 20); + this.label2.TabIndex = 7; + this.label2.Text = "2号相机"; + // + // numericUpDown21 + // + this.numericUpDown21.Location = new System.Drawing.Point(193, 60); + this.numericUpDown21.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown21.Name = "numericUpDown21"; + this.numericUpDown21.Size = new System.Drawing.Size(78, 25); + this.numericUpDown21.TabIndex = 8; + // + // numericUpDown22 + // + this.numericUpDown22.Location = new System.Drawing.Point(193, 103); + this.numericUpDown22.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown22.Name = "numericUpDown22"; + this.numericUpDown22.Size = new System.Drawing.Size(78, 25); + this.numericUpDown22.TabIndex = 9; + // + // numericUpDown23 + // + this.numericUpDown23.Location = new System.Drawing.Point(193, 146); + this.numericUpDown23.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown23.Name = "numericUpDown23"; + this.numericUpDown23.Size = new System.Drawing.Size(78, 25); + this.numericUpDown23.TabIndex = 10; + // + // label_expo3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label3.Location = new System.Drawing.Point(287, 16); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label_expo3"; + this.label3.Size = new System.Drawing.Size(83, 20); + this.label3.TabIndex = 11; + this.label3.Text = "3号相机"; + // + // numericUpDown31 + // + this.numericUpDown31.Location = new System.Drawing.Point(291, 60); + this.numericUpDown31.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown31.Name = "numericUpDown31"; + this.numericUpDown31.Size = new System.Drawing.Size(78, 25); + this.numericUpDown31.TabIndex = 12; + // + // numericUpDown32 + // + this.numericUpDown32.Location = new System.Drawing.Point(291, 103); + this.numericUpDown32.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown32.Name = "numericUpDown32"; + this.numericUpDown32.Size = new System.Drawing.Size(78, 25); + this.numericUpDown32.TabIndex = 13; + // + // numericUpDown33 + // + this.numericUpDown33.Location = new System.Drawing.Point(291, 146); + this.numericUpDown33.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown33.Name = "numericUpDown33"; + this.numericUpDown33.Size = new System.Drawing.Size(78, 25); + this.numericUpDown33.TabIndex = 14; + // + // label_expo4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label4.Location = new System.Drawing.Point(384, 16); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label_expo4"; + this.label4.Size = new System.Drawing.Size(83, 20); + this.label4.TabIndex = 15; + this.label4.Text = "4号相机"; + // + // numericUpDown41 + // + this.numericUpDown41.Location = new System.Drawing.Point(389, 60); + this.numericUpDown41.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown41.Name = "numericUpDown41"; + this.numericUpDown41.Size = new System.Drawing.Size(78, 25); + this.numericUpDown41.TabIndex = 16; + // + // numericUpDown42 + // + this.numericUpDown42.Location = new System.Drawing.Point(389, 103); + this.numericUpDown42.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown42.Name = "numericUpDown42"; + this.numericUpDown42.Size = new System.Drawing.Size(78, 25); + this.numericUpDown42.TabIndex = 17; + // + // numericUpDown43 + // + this.numericUpDown43.Location = new System.Drawing.Point(389, 146); + this.numericUpDown43.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown43.Name = "numericUpDown43"; + this.numericUpDown43.Size = new System.Drawing.Size(78, 25); + this.numericUpDown43.TabIndex = 18; + // + // label_gain1 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label5.Location = new System.Drawing.Point(483, 16); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label_gain1"; + this.label5.Size = new System.Drawing.Size(83, 20); + this.label5.TabIndex = 19; + this.label5.Text = "5号相机"; + // + // numericUpDown51 + // + this.numericUpDown51.Location = new System.Drawing.Point(487, 60); + this.numericUpDown51.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown51.Name = "numericUpDown51"; + this.numericUpDown51.Size = new System.Drawing.Size(78, 25); + this.numericUpDown51.TabIndex = 20; + // + // numericUpDown52 + // + this.numericUpDown52.Location = new System.Drawing.Point(487, 103); + this.numericUpDown52.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown52.Name = "numericUpDown52"; + this.numericUpDown52.Size = new System.Drawing.Size(78, 25); + this.numericUpDown52.TabIndex = 21; + // + // numericUpDown53 + // + this.numericUpDown53.Location = new System.Drawing.Point(487, 146); + this.numericUpDown53.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown53.Name = "numericUpDown53"; + this.numericUpDown53.Size = new System.Drawing.Size(78, 25); + this.numericUpDown53.TabIndex = 22; + // + // label_gain2 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label6.Location = new System.Drawing.Point(581, 16); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label_gain2"; + this.label6.Size = new System.Drawing.Size(83, 20); + this.label6.TabIndex = 23; + this.label6.Text = "6号相机"; + // + // numericUpDown61 + // + this.numericUpDown61.Location = new System.Drawing.Point(585, 60); + this.numericUpDown61.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown61.Name = "numericUpDown61"; + this.numericUpDown61.Size = new System.Drawing.Size(78, 25); + this.numericUpDown61.TabIndex = 24; + // + // numericUpDown62 + // + this.numericUpDown62.Location = new System.Drawing.Point(585, 103); + this.numericUpDown62.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown62.Name = "numericUpDown62"; + this.numericUpDown62.Size = new System.Drawing.Size(78, 25); + this.numericUpDown62.TabIndex = 25; + // + // numericUpDown63 + // + this.numericUpDown63.Location = new System.Drawing.Point(585, 146); + this.numericUpDown63.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown63.Name = "numericUpDown63"; + this.numericUpDown63.Size = new System.Drawing.Size(78, 25); + this.numericUpDown63.TabIndex = 26; + + // + // label_gain3 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label7.Location = new System.Drawing.Point(679, 16); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label_gain3"; + this.label7.Size = new System.Drawing.Size(83, 20); + this.label7.TabIndex = 27; + this.label7.Text = "7号相机"; + // + // numericUpDown71 + // + this.numericUpDown71.Location = new System.Drawing.Point(683, 60); + this.numericUpDown71.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown71.Name = "numericUpDown71"; + this.numericUpDown71.Size = new System.Drawing.Size(78, 25); + this.numericUpDown71.TabIndex = 28; + // + // numericUpDown72 + // + this.numericUpDown72.Location = new System.Drawing.Point(683, 103); + this.numericUpDown72.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown72.Name = "numericUpDown72"; + this.numericUpDown72.Size = new System.Drawing.Size(78, 25); + this.numericUpDown72.TabIndex = 29; + // + // numericUpDown73 + // + this.numericUpDown73.Location = new System.Drawing.Point(683, 146); + this.numericUpDown73.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown73.Name = "numericUpDown73"; + this.numericUpDown73.Size = new System.Drawing.Size(78, 25); + this.numericUpDown73.TabIndex = 30; + // + // label_gain4 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold); + this.label8.Location = new System.Drawing.Point(776, 16); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label_gain4"; + this.label8.Size = new System.Drawing.Size(83, 20); + this.label8.TabIndex = 31; + this.label8.Text = "8号相机"; + // + // numericUpDown81 + // + this.numericUpDown81.Location = new System.Drawing.Point(781, 60); + this.numericUpDown81.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown81.Name = "numericUpDown81"; + this.numericUpDown81.Size = new System.Drawing.Size(78, 25); + this.numericUpDown81.TabIndex = 32; + // + // numericUpDown82 + // + this.numericUpDown82.Location = new System.Drawing.Point(781, 103); + this.numericUpDown82.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown82.Name = "numericUpDown82"; + this.numericUpDown82.Size = new System.Drawing.Size(78, 25); + this.numericUpDown82.TabIndex = 33; + // + // numericUpDown83 + // + this.numericUpDown83.Location = new System.Drawing.Point(781, 146); + this.numericUpDown83.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown83.Name = "numericUpDown83"; + this.numericUpDown83.Size = new System.Drawing.Size(78, 25); + this.numericUpDown83.TabIndex = 34; + + // + // button_pwd_ok + // + this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button1.Location = new System.Drawing.Point(416, 189); + this.button1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.button1.Name = "button_pwd_ok"; + this.button1.Size = new System.Drawing.Size(124, 32); + this.button1.TabIndex = 35; + this.button1.Text = "应用"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + + // + // label_tips + // + this.label_tips.AutoSize = true; + this.label_tips.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label_tips.Location = new System.Drawing.Point(611, 198); + this.label_tips.Name = "label_tips"; + this.label_tips.Size = new System.Drawing.Size(248, 18); + this.label_tips.TabIndex = 36; + this.label_tips.Text = "若要保存参数请返回上一层点击保存"; + // + // Camera_glue + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(936, 230); + this.Controls.Add(this.numericUpDown82); + this.Controls.Add(this.numericUpDown83); + this.Controls.Add(this.numericUpDown81); + this.Controls.Add(this.label8); + this.Controls.Add(this.numericUpDown72); + this.Controls.Add(this.numericUpDown73); + this.Controls.Add(this.numericUpDown71); + this.Controls.Add(this.label7); + this.Controls.Add(this.numericUpDown62); + this.Controls.Add(this.numericUpDown63); + this.Controls.Add(this.numericUpDown61); + this.Controls.Add(this.label6); + this.Controls.Add(this.numericUpDown52); + this.Controls.Add(this.numericUpDown53); + this.Controls.Add(this.numericUpDown51); + this.Controls.Add(this.label5); + this.Controls.Add(this.label_tips); + this.Controls.Add(this.button1); + this.Controls.Add(this.numericUpDown42); + this.Controls.Add(this.numericUpDown43); + this.Controls.Add(this.numericUpDown41); + this.Controls.Add(this.numericUpDown32); + this.Controls.Add(this.numericUpDown33); + this.Controls.Add(this.numericUpDown12); + this.Controls.Add(this.numericUpDown13); + this.Controls.Add(this.numericUpDown21); + this.Controls.Add(this.numericUpDown22); + this.Controls.Add(this.numericUpDown23); + this.Controls.Add(this.numericUpDown31); + this.Controls.Add(this.numericUpDown11); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.label_pic3); + this.Controls.Add(this.label_pic2); + this.Controls.Add(this.label_pic1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "Camera_glue"; + this.Text = "配方设置"; + this.Load += new System.EventHandler(this.Camera_glue_Load); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown31)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown23)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown33)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown32)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown41)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown43)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown42)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown52)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown53)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown51)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown62)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown63)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown61)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown72)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown73)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown71)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown82)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown83)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown81)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label_pic1; + private System.Windows.Forms.Label label_pic2; + private System.Windows.Forms.Label label_pic3; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.NumericUpDown numericUpDown11; + private System.Windows.Forms.NumericUpDown numericUpDown31; + private System.Windows.Forms.NumericUpDown numericUpDown23; + private System.Windows.Forms.NumericUpDown numericUpDown22; + private System.Windows.Forms.NumericUpDown numericUpDown21; + private System.Windows.Forms.NumericUpDown numericUpDown13; + private System.Windows.Forms.NumericUpDown numericUpDown12; + private System.Windows.Forms.NumericUpDown numericUpDown33; + private System.Windows.Forms.NumericUpDown numericUpDown32; + private System.Windows.Forms.NumericUpDown numericUpDown41; + private System.Windows.Forms.NumericUpDown numericUpDown43; + private System.Windows.Forms.NumericUpDown numericUpDown42; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label_tips; + private System.Windows.Forms.NumericUpDown numericUpDown52; + private System.Windows.Forms.NumericUpDown numericUpDown53; + private System.Windows.Forms.NumericUpDown numericUpDown51; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.NumericUpDown numericUpDown62; + private System.Windows.Forms.NumericUpDown numericUpDown63; + private System.Windows.Forms.NumericUpDown numericUpDown61; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.NumericUpDown numericUpDown72; + private System.Windows.Forms.NumericUpDown numericUpDown73; + private System.Windows.Forms.NumericUpDown numericUpDown71; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.NumericUpDown numericUpDown82; + private System.Windows.Forms.NumericUpDown numericUpDown83; + private System.Windows.Forms.NumericUpDown numericUpDown81; + private System.Windows.Forms.Label label8; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/Camera_glue.cs b/WindowsFormsApp2/Camera_glue.cs new file mode 100644 index 0000000..202a898 --- /dev/null +++ b/WindowsFormsApp2/Camera_glue.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + public partial class Camera_glue : Form + { + public Camera_glue() + { + InitializeComponent(); + } + + private void Camera_glue_Load(object sender, EventArgs e) + { + this.numericUpDown11.Value = DialogSetup.cam_setting.Cameraglue[0].shoot[0]; + this.numericUpDown12.Value = DialogSetup.cam_setting.Cameraglue[0].shoot[1]; + this.numericUpDown13.Value = DialogSetup.cam_setting.Cameraglue[0].shoot[2]; + + this.numericUpDown21.Value = DialogSetup.cam_setting.Cameraglue[1].shoot[0]; + this.numericUpDown22.Value = DialogSetup.cam_setting.Cameraglue[1].shoot[1]; + this.numericUpDown23.Value = DialogSetup.cam_setting.Cameraglue[1].shoot[2]; + + this.numericUpDown31.Value = DialogSetup.cam_setting.Cameraglue[2].shoot[0]; + this.numericUpDown32.Value = DialogSetup.cam_setting.Cameraglue[2].shoot[1]; + this.numericUpDown33.Value = DialogSetup.cam_setting.Cameraglue[2].shoot[2]; + + this.numericUpDown41.Value = DialogSetup.cam_setting.Cameraglue[3].shoot[0]; + this.numericUpDown42.Value = DialogSetup.cam_setting.Cameraglue[3].shoot[1]; + this.numericUpDown43.Value = DialogSetup.cam_setting.Cameraglue[3].shoot[2]; + + this.numericUpDown51.Value = DialogSetup.cam_setting.Cameraglue[4].shoot[0]; + this.numericUpDown52.Value = DialogSetup.cam_setting.Cameraglue[4].shoot[1]; + this.numericUpDown53.Value = DialogSetup.cam_setting.Cameraglue[4].shoot[2]; + + this.numericUpDown61.Value = DialogSetup.cam_setting.Cameraglue[5].shoot[0]; + this.numericUpDown62.Value = DialogSetup.cam_setting.Cameraglue[5].shoot[1]; + this.numericUpDown63.Value = DialogSetup.cam_setting.Cameraglue[5].shoot[2]; + + this.numericUpDown71.Value = DialogSetup.cam_setting.Cameraglue[6].shoot[0]; + this.numericUpDown72.Value = DialogSetup.cam_setting.Cameraglue[6].shoot[1]; + this.numericUpDown73.Value = DialogSetup.cam_setting.Cameraglue[6].shoot[2]; + + this.numericUpDown81.Value = DialogSetup.cam_setting.Cameraglue[7].shoot[0]; + this.numericUpDown82.Value = DialogSetup.cam_setting.Cameraglue[7].shoot[1]; + this.numericUpDown83.Value = DialogSetup.cam_setting.Cameraglue[7].shoot[2]; + } + + private void button1_Click(object sender, EventArgs e) + { + DialogSetup.cam_setting.Cameraglue[0].shoot[0] = Convert.ToInt32(this.numericUpDown11.Value); + DialogSetup.cam_setting.Cameraglue[0].shoot[1] = Convert.ToInt32(this.numericUpDown12.Value); + DialogSetup.cam_setting.Cameraglue[0].shoot[2] = Convert.ToInt32(this.numericUpDown13.Value); + + DialogSetup.cam_setting.Cameraglue[1].shoot[0] = Convert.ToInt32(this.numericUpDown21.Value); + DialogSetup.cam_setting.Cameraglue[1].shoot[1] = Convert.ToInt32(this.numericUpDown22.Value); + DialogSetup.cam_setting.Cameraglue[1].shoot[2] = Convert.ToInt32(this.numericUpDown23.Value); + + DialogSetup.cam_setting.Cameraglue[2].shoot[0] = Convert.ToInt32(this.numericUpDown31.Value); + DialogSetup.cam_setting.Cameraglue[2].shoot[1] = Convert.ToInt32(this.numericUpDown32.Value); + DialogSetup.cam_setting.Cameraglue[2].shoot[2] = Convert.ToInt32(this.numericUpDown33.Value); + + DialogSetup.cam_setting.Cameraglue[3].shoot[0] = Convert.ToInt32(this.numericUpDown41.Value); + DialogSetup.cam_setting.Cameraglue[3].shoot[1] = Convert.ToInt32(this.numericUpDown42.Value); + DialogSetup.cam_setting.Cameraglue[3].shoot[2] = Convert.ToInt32(this.numericUpDown43.Value); + + DialogSetup.cam_setting.Cameraglue[4].shoot[0] = Convert.ToInt32(this.numericUpDown51.Value); + DialogSetup.cam_setting.Cameraglue[4].shoot[1] = Convert.ToInt32(this.numericUpDown52.Value); + DialogSetup.cam_setting.Cameraglue[4].shoot[2] = Convert.ToInt32(this.numericUpDown53.Value); + + DialogSetup.cam_setting.Cameraglue[5].shoot[0] = Convert.ToInt32(this.numericUpDown61.Value); + DialogSetup.cam_setting.Cameraglue[5].shoot[1] = Convert.ToInt32(this.numericUpDown62.Value); + DialogSetup.cam_setting.Cameraglue[5].shoot[2] = Convert.ToInt32(this.numericUpDown63.Value); + + DialogSetup.cam_setting.Cameraglue[6].shoot[0] = Convert.ToInt32(this.numericUpDown71.Value); + DialogSetup.cam_setting.Cameraglue[6].shoot[1] = Convert.ToInt32(this.numericUpDown72.Value); + DialogSetup.cam_setting.Cameraglue[6].shoot[2] = Convert.ToInt32(this.numericUpDown73.Value); + + DialogSetup.cam_setting.Cameraglue[7].shoot[0] = Convert.ToInt32(this.numericUpDown81.Value); + DialogSetup.cam_setting.Cameraglue[7].shoot[1] = Convert.ToInt32(this.numericUpDown82.Value); + DialogSetup.cam_setting.Cameraglue[7].shoot[2] = Convert.ToInt32(this.numericUpDown83.Value); + + /// + this.Close(); + MessageBox.Show("请点击‘保存参数’按钮,进行保存设置", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + } +} diff --git a/WindowsFormsApp2/Camera_glue.resx b/WindowsFormsApp2/Camera_glue.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/Camera_glue.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/WindowsFormsApp2/Change_shift.Designer.cs b/WindowsFormsApp2/Change_shift.Designer.cs new file mode 100644 index 0000000..dfe000b --- /dev/null +++ b/WindowsFormsApp2/Change_shift.Designer.cs @@ -0,0 +1,308 @@ +namespace WindowsFormsApp2 +{ + partial class Change_shift + { + /// + /// 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.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.numericUpDown_A_hour = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown_A_minute = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown_B_minute = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown_B_hour = new System.Windows.Forms.NumericUpDown(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.numericUpDown_C_minute = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown_C_hour = new System.Windows.Forms.NumericUpDown(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.button_apply = new System.Windows.Forms.Button(); + this.label10 = new System.Windows.Forms.Label(); + this.radioButton_byhand = new System.Windows.Forms.RadioButton(); + this.radioButton_time = new System.Windows.Forms.RadioButton(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_A_hour)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_A_minute)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_B_minute)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_B_hour)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_C_minute)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_C_hour)).BeginInit(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(43, 99); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(30, 15); + this.label1.TabIndex = 0; + this.label1.Text = "A班"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(159, 99); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(22, 15); + this.label2.TabIndex = 1; + this.label2.Text = "点"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(250, 98); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(22, 15); + this.label3.TabIndex = 2; + this.label3.Text = "分"; + // + // numericUpDown_A_hour + // + this.numericUpDown_A_hour.Location = new System.Drawing.Point(101, 95); + this.numericUpDown_A_hour.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_A_hour.Name = "numericUpDown_A_hour"; + this.numericUpDown_A_hour.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_A_hour.TabIndex = 3; + // + // numericUpDown_A_minute + // + this.numericUpDown_A_minute.Location = new System.Drawing.Point(188, 96); + this.numericUpDown_A_minute.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_A_minute.Name = "numericUpDown_A_minute"; + this.numericUpDown_A_minute.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_A_minute.TabIndex = 4; + // + // numericUpDown_B_minute + // + this.numericUpDown_B_minute.Location = new System.Drawing.Point(188, 149); + this.numericUpDown_B_minute.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_B_minute.Name = "numericUpDown_B_minute"; + this.numericUpDown_B_minute.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_B_minute.TabIndex = 9; + // + // numericUpDown_B_hour + // + this.numericUpDown_B_hour.Location = new System.Drawing.Point(101, 148); + this.numericUpDown_B_hour.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_B_hour.Name = "numericUpDown_B_hour"; + this.numericUpDown_B_hour.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_B_hour.TabIndex = 8; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(250, 150); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(22, 15); + this.label4.TabIndex = 7; + this.label4.Text = "分"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(159, 152); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(22, 15); + this.label5.TabIndex = 6; + this.label5.Text = "点"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(43, 152); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(30, 15); + this.label6.TabIndex = 5; + this.label6.Text = "B班"; + // + // numericUpDown_C_minute + // + this.numericUpDown_C_minute.Location = new System.Drawing.Point(188, 199); + this.numericUpDown_C_minute.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_C_minute.Name = "numericUpDown_C_minute"; + this.numericUpDown_C_minute.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_C_minute.TabIndex = 14; + // + // numericUpDown_C_hour + // + this.numericUpDown_C_hour.Location = new System.Drawing.Point(101, 197); + this.numericUpDown_C_hour.Margin = new System.Windows.Forms.Padding(4); + this.numericUpDown_C_hour.Name = "numericUpDown_C_hour"; + this.numericUpDown_C_hour.Size = new System.Drawing.Size(57, 25); + this.numericUpDown_C_hour.TabIndex = 13; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(250, 201); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(22, 15); + this.label7.TabIndex = 12; + this.label7.Text = "分"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(159, 201); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(22, 15); + this.label8.TabIndex = 11; + this.label8.Text = "点"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(43, 201); + this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(30, 15); + this.label9.TabIndex = 10; + this.label9.Text = "C班"; + // + // button_apply + // + this.button_apply.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button_apply.Location = new System.Drawing.Point(105, 267); + this.button_apply.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.button_apply.Name = "button_apply"; + this.button_apply.Size = new System.Drawing.Size(109, 30); + this.button_apply.TabIndex = 15; + this.button_apply.Text = "应用"; + this.button_apply.UseVisualStyleBackColor = true; + this.button_apply.Click += new System.EventHandler(this.button_apply_Click); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label10.Location = new System.Drawing.Point(40, 238); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(248, 18); + this.label10.TabIndex = 21; + this.label10.Text = "若要保存参数请返回上一层点击保存"; + // + // radioButton_byhand + // + this.radioButton_byhand.AutoSize = true; + this.radioButton_byhand.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.radioButton_byhand.Location = new System.Drawing.Point(43, 36); + this.radioButton_byhand.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.radioButton_byhand.Name = "radioButton_byhand"; + this.radioButton_byhand.Size = new System.Drawing.Size(99, 28); + this.radioButton_byhand.TabIndex = 22; + this.radioButton_time.TabStop = true; + this.radioButton_byhand.Text = "手动换班"; + this.radioButton_byhand.UseVisualStyleBackColor = true; + this.radioButton_byhand.CheckedChanged += new System.EventHandler(this.radioButton_byhand_CheckedChanged); + // + // radioButton_time + // + this.radioButton_time.AutoSize = true; + this.radioButton_time.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.radioButton_time.Location = new System.Drawing.Point(189, 36); + this.radioButton_time.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.radioButton_time.Name = "radioButton_time"; + this.radioButton_time.Size = new System.Drawing.Size(99, 28); + this.radioButton_time.TabIndex = 23; + this.radioButton_time.TabStop = true; + this.radioButton_time.Text = "定时换班"; + this.radioButton_time.UseVisualStyleBackColor = true; + this.radioButton_time.CheckedChanged += new System.EventHandler(this.radioButton_time_CheckedChanged); + // + // Change_shift + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(325, 319); + this.Controls.Add(this.radioButton_time); + this.Controls.Add(this.radioButton_byhand); + this.Controls.Add(this.label10); + this.Controls.Add(this.button_apply); + this.Controls.Add(this.numericUpDown_C_minute); + this.Controls.Add(this.numericUpDown_C_hour); + this.Controls.Add(this.label7); + this.Controls.Add(this.label8); + this.Controls.Add(this.label9); + this.Controls.Add(this.numericUpDown_B_minute); + this.Controls.Add(this.numericUpDown_B_hour); + this.Controls.Add(this.label4); + this.Controls.Add(this.label5); + this.Controls.Add(this.label6); + this.Controls.Add(this.numericUpDown_A_minute); + this.Controls.Add(this.numericUpDown_A_hour); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "Change_shift"; + this.Text = "换班设置"; + this.Load += new System.EventHandler(this.Change_shift_Load); + + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_A_hour)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_A_minute)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_B_minute)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_B_hour)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_C_minute)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_C_hour)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.NumericUpDown numericUpDown_A_hour; + private System.Windows.Forms.NumericUpDown numericUpDown_A_minute; + private System.Windows.Forms.NumericUpDown numericUpDown_B_minute; + private System.Windows.Forms.NumericUpDown numericUpDown_B_hour; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.NumericUpDown numericUpDown_C_minute; + private System.Windows.Forms.NumericUpDown numericUpDown_C_hour; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Button button_apply; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.RadioButton radioButton_byhand; + private System.Windows.Forms.RadioButton radioButton_time; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/Change_shift.cs b/WindowsFormsApp2/Change_shift.cs new file mode 100644 index 0000000..c9795dc --- /dev/null +++ b/WindowsFormsApp2/Change_shift.cs @@ -0,0 +1,102 @@ +using System; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + public partial class Change_shift : Form + { + public static Setting cam_setting = new Setting(); + + public Change_shift() + { + InitializeComponent(); + if (DialogSetup.cam_setting.changeshift.shift_byhand == 1) + { + this.radioButton_byhand.Checked = true; + this.radioButton_time.Checked = false; + } + else if (DialogSetup.cam_setting.changeshift.shift_time == 1) + { + this.radioButton_time.Checked = true; + this.radioButton_byhand.Checked = false; + } + } + + private void Change_shift_Load(object sender, EventArgs e) + { + //if (DialogSetup.cam_setting.changeshift.shift_byhand == 1) + //{ + // this.radioButton_byhand.Checked = true; + // this.radioButton_time.Checked = false; + //} + //else if (DialogSetup.cam_setting.changeshift.shift_time == 1) + //{ + // this.radioButton_time.Checked = true; + // this.radioButton_byhand.Checked = false; + //} + this.radioButton_byhand.Checked = DialogSetup.cam_setting.changeshift.shift_byhand == 1 ? true: false; + this.radioButton_time.Checked = DialogSetup.cam_setting.changeshift.shift_time == 1 ? true : false; + + this.numericUpDown_A_hour.Value = DialogSetup.cam_setting.changeshift.Ah; + this.numericUpDown_A_minute.Value = DialogSetup.cam_setting.changeshift.Am; + this.numericUpDown_B_hour.Value = DialogSetup.cam_setting.changeshift.Bh; + this.numericUpDown_B_minute.Value = DialogSetup.cam_setting.changeshift.Bm; + this.numericUpDown_C_hour.Value = DialogSetup.cam_setting.changeshift.Ch; + this.numericUpDown_C_minute.Value = DialogSetup.cam_setting.changeshift.Cm; + + + } + + private void button_apply_Click(object sender, EventArgs e) + { + if (this.radioButton_time.Checked) { + DialogSetup.cam_setting.changeshift.shift_byhand = Convert.ToInt32(this.radioButton_byhand.Checked); + DialogSetup.cam_setting.changeshift.shift_time = Convert.ToInt32(this.radioButton_time.Checked); + } else if (this.radioButton_byhand.Checked) { + DialogSetup.cam_setting.changeshift.shift_byhand = Convert.ToInt32(this.radioButton_byhand.Checked); + DialogSetup.cam_setting.changeshift.shift_time = Convert.ToInt32(this.radioButton_time.Checked); + } + DialogSetup.cam_setting.changeshift.Ah = Convert.ToInt32(this.numericUpDown_A_hour.Value); + DialogSetup.cam_setting.changeshift.Am = Convert.ToInt32(this.numericUpDown_A_minute.Value); + DialogSetup.cam_setting.changeshift.Bh = Convert.ToInt32(this.numericUpDown_B_hour.Value); + DialogSetup.cam_setting.changeshift.Bm = Convert.ToInt32(this.numericUpDown_B_minute.Value); + DialogSetup.cam_setting.changeshift.Ch = Convert.ToInt32(this.numericUpDown_C_hour.Value); + DialogSetup.cam_setting.changeshift.Cm = Convert.ToInt32(this.numericUpDown_C_minute.Value); + /// + + MessageBox.Show("请点击‘保存参数’按钮,进行保存设置", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification); + this.Close(); + } + + private void radioButton_byhand_CheckedChanged(object sender, EventArgs e) + { + /// 选择“手动换班”按钮 -> A/B/C三班时间清0 + /// + if (this.radioButton_byhand.Checked) { + DialogSetup.cam_setting.changeshift.shift_byhand = Convert.ToInt32(this.radioButton_byhand.Checked); + DialogSetup.cam_setting.changeshift.shift_time = Convert.ToInt32(this.radioButton_time.Checked); + } + + DialogSetup.cam_setting.changeshift.Ah = Convert.ToInt32(this.numericUpDown_A_hour.Minimum); + DialogSetup.cam_setting.changeshift.Am = Convert.ToInt32(this.numericUpDown_A_minute.Minimum); + DialogSetup.cam_setting.changeshift.Bh = Convert.ToInt32(this.numericUpDown_B_hour.Minimum); + DialogSetup.cam_setting.changeshift.Bm = Convert.ToInt32(this.numericUpDown_B_minute.Minimum); + DialogSetup.cam_setting.changeshift.Ch = Convert.ToInt32(this.numericUpDown_C_hour.Minimum); + DialogSetup.cam_setting.changeshift.Cm = Convert.ToInt32(this.numericUpDown_C_minute.Minimum); + //this.Close(); + //MessageBox.Show("请点击‘保存参数’按钮,进行保存设置", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification); + } + + private void radioButton_time_CheckedChanged(object sender, EventArgs e) + { /// 定时换班 + if (this.radioButton_time.Checked) + { + DialogSetup.cam_setting.changeshift.shift_byhand = Convert.ToInt32(this.radioButton_byhand.Checked); + DialogSetup.cam_setting.changeshift.shift_time = Convert.ToInt32(this.radioButton_time.Checked); + } + //DialogSetup.cam_setting.changeshift.shift_time = 1; + //DialogSetup.cam_setting.changeshift.shift_byhand = 0; + + } + } +} diff --git a/WindowsFormsApp2/Change_shift.resx b/WindowsFormsApp2/Change_shift.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/Change_shift.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/WindowsFormsApp2/Client.cs b/WindowsFormsApp2/Client.cs new file mode 100644 index 0000000..27b8164 --- /dev/null +++ b/WindowsFormsApp2/Client.cs @@ -0,0 +1,364 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Runtime.InteropServices; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Windows.Forms; +using System.Linq; +namespace WindowsFormsApp2 +{ + public delegate void callback(string msg); + + public class Client + { + //显示端 + //显示端 + public static byte[] clientIP = new byte[] { 192, 168, 31, 243 }; + public static byte[] localIP = new byte[] { 192, 168, 31, 226 }; + + public static int dataPort = 2999; + public static int imagePort = 3999; + + + //图像大小 + int w = 80, h = 60; + + static Client() + { + for (int i = 1; i < 16; i++) + { + //license(dataPort + i); + //license(imagePort + i); + } + } + + public Client() + { + + } + + public void DisConnection() + { + try + { + if (u != null) + { + m_Done = true; + if (recvThread != null) + { + this.recvThread.Abort(); + } + if (recvThreadImage != null) + { + this.recvThreadImage.Abort(); + } + u.Close(); + u = null; + } + if (uimage != null) + uimage.Close(); + } + catch (Exception) + { + + } + } + private static void license(int port) + { + Process p = new Process(); + p.StartInfo.FileName = "cmd.exe"; + p.StartInfo.UseShellExecute = false; + p.StartInfo.RedirectStandardError = true; + p.StartInfo.RedirectStandardInput = true; + p.StartInfo.RedirectStandardOutput = true; + p.StartInfo.CreateNoWindow = true; + List list_pid = GetPidByPort(p, port); + if (list_pid.Count == 0) + { + return; + } + List list_process = GetProcessNameByPid(p, list_pid); + StringBuilder sb = new StringBuilder(); + sb.AppendLine("占用" + port + "端口的进程有:"); + foreach (var item in list_process) + { + sb.Append(item + "\r\n"); + } + sb.AppendLine("是否要结束这些进程?"); + PidKill(p, list_pid); + + } + + private static void PidKill(Process p, List list_pid) + { + p.Start(); + foreach (var item in list_pid) + { + p.StandardInput.WriteLine("taskkill /pid " + item + " /f"); + p.StandardInput.WriteLine("exit"); + } + p.Close(); + } + + private static List GetPidByPort(Process p, int port) + { + int result; + bool b = true; + p.Start(); + p.StandardInput.WriteLine(string.Format("netstat -ano|find \"{0}\"", port)); + p.StandardInput.WriteLine("exit"); + StreamReader reader = p.StandardOutput; + string strLine = reader.ReadLine(); + List list_pid = new List(); + while (!reader.EndOfStream) + { + strLine = strLine.Trim(); + if (strLine.Length > 0 && ((strLine.Contains("TCP") || strLine.Contains("UDP")))) + { + Regex r = new Regex(@"\s+"); + string[] strArr = r.Split(strLine); + if (strArr.Length >= 4) + { + b = int.TryParse(strArr[3], out result); + if (b && !list_pid.Contains(result)) + list_pid.Add(result); + } + } + strLine = reader.ReadLine(); + } + p.WaitForExit(); + reader.Close(); + p.Close(); + return list_pid; + } + + private static List GetProcessNameByPid(Process p, List list_pid) + { + p.Start(); + List list_process = new List(); + foreach (var pid in list_pid) + { + p.StandardInput.WriteLine(string.Format("tasklist |find \"{0}\"", pid)); + p.StandardInput.WriteLine("exit"); + StreamReader reader = p.StandardOutput;//截取输出流 + string strLine = reader.ReadLine();//每次读取一行 + + while (!reader.EndOfStream) + { + strLine = strLine.Trim(); + if (strLine.Length > 0 && ((strLine.Contains(".exe")))) + { + Regex r = new Regex(@"\s+"); + string[] strArr = r.Split(strLine); + if (strArr.Length > 0) + { + list_process.Add(strArr[0]); + } + } + strLine = reader.ReadLine(); + } + p.WaitForExit(); + reader.Close(); + } + p.Close(); + + return list_process; + } + + + private int _bindCamId; + + + UdpClient u=null; + IPEndPoint e; + + UdpClient uimage = null; + IPEndPoint eimage; + public void bindCamId(int id) + { + _bindCamId = id; + try + { + e = new IPEndPoint(new IPAddress(localIP), dataPort + _bindCamId); + u = new UdpClient(e); + + + recvThread = new Thread(new ThreadStart(Received)); + recvThread.Priority = ThreadPriority.Normal; + recvThread.Start(); + } + catch + { + + } + try + { + eimage = new IPEndPoint(new IPAddress(localIP), imagePort + _bindCamId); + uimage = new UdpClient(eimage); + recvThreadImage = new Thread(new ThreadStart(ReceivedImage)); + recvThreadImage.Priority = ThreadPriority.Normal; + recvThreadImage.Start(); + } + catch + { + + } + } + + private Action t; + private Action imageCall; + private Action j; + private Action o; + private Action n; + private Action speed; + private Action kick; + private Action total; + + public void InitLicenseData(Action t, Action j, Action o, Action n, Action speed + , Action kick, Action total) + { + try + { + this.t = t; + this.j = j; + this.o = o; + this.n = n; + this.speed = speed; + this.kick = kick; + this.total = total; + } + catch (Exception ex) + { + System.Diagnostics.Debug.Write("端口号占用" + ex.ToString()); + return; + } + } + + public void InitLicenseData(Action t) + { + try + { + this.t = t; + } + catch (Exception ex) + { + System.Diagnostics.Debug.Write("端口号占用" + ex.ToString()); + return; + } + } + + public void InitLicenseImage(Action total) + { + try + { + this.imageCall = total; + } + catch (Exception ex) + { + System.Diagnostics.Debug.Write("端口号占用" + ex.ToString()); + return; + } + } + + bool m_Done = false; + + public Thread recvThread = null; + + public Thread recvThreadImage = null; + + private void Received() + { + //ASCII 编码 + Encoding ASCII = Encoding.ASCII; + while (!m_Done) + { + IPEndPoint endpoint = null; + if (u != null && null != recvThread && recvThread.IsAlive) + { + //接收数据 + try + { + Byte[] data = u.Receive(ref endpoint); + //得到数据的ACSII的字符串形式 + String receiveString = ASCII.GetString(data); + if (t!=null) + t(receiveString); + + } + catch + { + //SOCKETEventArrive("receive:Nullerror"); + } + } + Thread.Sleep(10); //防止系统资源耗尽 + } + } + + private void GenImage(byte[] data, out Bitmap bmp) + { + lock (this) + { + + bmp = new Bitmap(w, h); + try + { + lock (this) + { + IntPtr pData = Marshal.AllocHGlobal(w * h * 3); + Marshal.Copy(data, 0, pData, w * h * 3); + bmp = new Bitmap(w, h, w * 3, PixelFormat.Format24bppRgb, pData); + } + } + catch (Exception) + { + + } + } + } + + private void ReceivedImage() + { + //Thread.Sleep(2000); + //ASCII 编码 + Encoding ASCII = Encoding.ASCII; + //Thread.Sleep(30); //防止系统资源耗尽 + + while (!m_Done) + { + IPEndPoint endpoint = null; + if (u != null && null != recvThread && recvThread.IsAlive) + { + try + { + Byte[] receiveBytes = uimage.Receive(ref endpoint); + { + //Bitmap bm; + //GenImage(receiveBytes.Skip(1).Take(receiveBytes.Length - 1).ToArray(), out bm); + //imageCall(receiveBytes[0],bm); + + IntPtr pData = Marshal.AllocHGlobal(w * h * 3); + Marshal.Copy(receiveBytes.Skip(1).Take(receiveBytes.Length - 1).ToArray(), 0, pData, w * h * 3); + using (Bitmap bm = new Bitmap(w, h, w * 3, PixelFormat.Format24bppRgb, pData)) + { + imageCall(receiveBytes[0], bm); + } + Marshal.FreeHGlobal(pData); //free tha memory + } + } + catch + { + //SOCKETEventArrive("receive:Nullerror"); + } + } + Thread.Sleep(10); //防止系统资源耗尽 + } + } + } +} diff --git a/WindowsFormsApp2/DialogLogin.Designer.cs b/WindowsFormsApp2/DialogLogin.Designer.cs new file mode 100644 index 0000000..498c541 --- /dev/null +++ b/WindowsFormsApp2/DialogLogin.Designer.cs @@ -0,0 +1,240 @@ +namespace WindowsFormsApp2 +{ + partial class DialogLogin + { + /// + /// 必需的设计器变量。 + /// + 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.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.button5 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.button8 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.button12 = new System.Windows.Forms.Button(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.flowLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.Controls.Add(this.button1); + this.flowLayoutPanel1.Controls.Add(this.button2); + this.flowLayoutPanel1.Controls.Add(this.button3); + this.flowLayoutPanel1.Controls.Add(this.button4); + this.flowLayoutPanel1.Controls.Add(this.button5); + this.flowLayoutPanel1.Controls.Add(this.button6); + this.flowLayoutPanel1.Controls.Add(this.button7); + this.flowLayoutPanel1.Controls.Add(this.button8); + this.flowLayoutPanel1.Controls.Add(this.button9); + this.flowLayoutPanel1.Controls.Add(this.button10); + this.flowLayoutPanel1.Controls.Add(this.button11); + this.flowLayoutPanel1.Controls.Add(this.button12); + this.flowLayoutPanel1.Location = new System.Drawing.Point(12, 70); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(433, 376); + this.flowLayoutPanel1.TabIndex = 0; + // + // button_pwd_ok + // + this.button1.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button1.Location = new System.Drawing.Point(3, 3); + this.button1.Name = "button_pwd_ok"; + this.button1.Size = new System.Drawing.Size(130, 87); + this.button1.TabIndex = 0; + this.button1.Text = "1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button_op_pwd_ok + // + this.button2.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button2.Location = new System.Drawing.Point(139, 3); + this.button2.Name = "button_op_pwd_ok"; + this.button2.Size = new System.Drawing.Size(130, 87); + this.button2.TabIndex = 1; + this.button2.Text = "2"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button3 + // + this.button3.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button3.Location = new System.Drawing.Point(275, 3); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(130, 87); + this.button3.TabIndex = 2; + this.button3.Text = "3"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button4 + // + this.button4.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button4.Location = new System.Drawing.Point(3, 96); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(130, 87); + this.button4.TabIndex = 3; + this.button4.Text = "4"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // button5 + // + this.button5.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button5.Location = new System.Drawing.Point(139, 96); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(130, 87); + this.button5.TabIndex = 4; + this.button5.Text = "5"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.button5_Click); + // + // button6 + // + this.button6.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button6.Location = new System.Drawing.Point(275, 96); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(130, 87); + this.button6.TabIndex = 5; + this.button6.Text = "6"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.button6_Click); + // + // button7 + // + this.button7.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button7.Location = new System.Drawing.Point(3, 189); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(130, 87); + this.button7.TabIndex = 6; + this.button7.Text = "7"; + this.button7.UseVisualStyleBackColor = true; + this.button7.Click += new System.EventHandler(this.button7_Click); + // + // button8 + // + this.button8.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button8.Location = new System.Drawing.Point(139, 189); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(130, 87); + this.button8.TabIndex = 7; + this.button8.Text = "8"; + this.button8.UseVisualStyleBackColor = true; + this.button8.Click += new System.EventHandler(this.button8_Click); + // + // button9 + // + this.button9.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button9.Location = new System.Drawing.Point(275, 189); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(130, 87); + this.button9.TabIndex = 8; + this.button9.Text = "9"; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.button9_Click); + // + // button10 + // + this.button10.Font = new System.Drawing.Font("宋体", 40F, System.Drawing.FontStyle.Bold); + this.button10.Location = new System.Drawing.Point(3, 282); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(130, 87); + this.button10.TabIndex = 9; + this.button10.Text = "CLR"; + this.button10.UseVisualStyleBackColor = true; + this.button10.Click += new System.EventHandler(this.button10_Click); + // + // button11 + // + this.button11.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button11.Location = new System.Drawing.Point(139, 282); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(130, 87); + this.button11.TabIndex = 10; + this.button11.Text = "0"; + this.button11.UseVisualStyleBackColor = true; + this.button11.Click += new System.EventHandler(this.button11_Click); + // + // button12 + // + this.button12.Font = new System.Drawing.Font("宋体", 48F, System.Drawing.FontStyle.Bold); + this.button12.Location = new System.Drawing.Point(275, 282); + this.button12.Name = "button12"; + this.button12.Size = new System.Drawing.Size(130, 87); + this.button12.TabIndex = 11; + this.button12.Text = "OK"; + this.button12.UseVisualStyleBackColor = true; + this.button12.Click += new System.EventHandler(this.button12_Click); + // + // textBox_old_pwd + // + this.textBox1.Font = new System.Drawing.Font("宋体", 25F, System.Drawing.FontStyle.Bold); + this.textBox1.Location = new System.Drawing.Point(12, 12); + this.textBox1.Name = "textBox_old_pwd"; + this.textBox1.PasswordChar = '*'; + this.textBox1.Size = new System.Drawing.Size(405, 46); + this.textBox1.TabIndex = 0; + // + // DialogLogin + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(431, 444); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.flowLayoutPanel1); + this.Name = "DialogLogin"; + this.Text = "登录"; + this.flowLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.Button button12; + } +} diff --git a/WindowsFormsApp2/DialogLogin.cs b/WindowsFormsApp2/DialogLogin.cs new file mode 100644 index 0000000..086a9df --- /dev/null +++ b/WindowsFormsApp2/DialogLogin.cs @@ -0,0 +1,152 @@ +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 System.Net; +using System.Net.Sockets; +using System.Threading; + +namespace WindowsFormsApp2 +{ + public partial class DialogLogin : Form + { + string pwd; + + public static byte[] clientIP = new byte[] { 192, 168, 10, 127 }; + public static byte[] localIP = new byte[] { 192, 168, 10, 127 }; + public static int ordPort = 3333; + public static int feedPort = 2999; + public bool IsAdmin = false; + public void SendMsg(string obj) + { + try + { + UdpClient udpcSend = new UdpClient(0); + byte[] sendbytes = Encoding.UTF8.GetBytes(obj); + // IPEndPoint remoteIpep = new IPEndPoint(IPAddress.Parse("192.168.31.243"), 3333); + IPEndPoint remoteIpep = new IPEndPoint(new IPAddress(clientIP), ordPort); + udpcSend.Send(sendbytes, sendbytes.Length, remoteIpep); + udpcSend.Close(); + } + catch + { + } + } + + public DialogLogin() + { + InitializeComponent(); + pwd = null; + } + + private void button1_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "1"; + else + pwd += ('1'); + } + + private void button2_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "2"; + else + pwd += ('2'); + } + + private void button3_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "3"; + else + pwd += ('3'); + } + + private void button4_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "4"; + else + pwd += ('4'); + } + + private void button5_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "5"; + else + pwd += ('5'); + } + + private void button6_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "6"; + else + pwd += ('6'); + } + + private void button7_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "7"; + else + pwd += ('7'); + } + + private void button8_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "8"; + else + pwd += ('8'); + } + + private void button9_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "9"; + else + pwd += ('9'); + } + + private void button11_Click(object sender, EventArgs e) + { + this.textBox1.AppendText("*"); + if (pwd == null) + pwd = "0"; + else + pwd += ('0'); + } + + private void button12_Click(object sender, EventArgs e) + { + string msg; + if(IsAdmin)msg = "ADMINLOGIN:" + pwd; + else msg = "OPLOGIN:" + pwd; + SendMsg(msg); + pwd = null; + this.Close(); + } + + private void button10_Click(object sender, EventArgs e) + { + pwd = null; + } + } +} diff --git a/WindowsFormsApp2/DialogLogin.resx b/WindowsFormsApp2/DialogLogin.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/DialogLogin.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/WindowsFormsApp2/DialogSetup.Designer.cs b/WindowsFormsApp2/DialogSetup.Designer.cs new file mode 100644 index 0000000..56ca110 --- /dev/null +++ b/WindowsFormsApp2/DialogSetup.Designer.cs @@ -0,0 +1,1220 @@ +namespace WindowsFormsApp2 +{ + partial class DialogSetup + { + /// + /// 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.groupBox1 = new System.Windows.Forms.GroupBox(); + this.checkBox_auto_work = new System.Windows.Forms.CheckBox(); + this.checkBox_auto_open = new System.Windows.Forms.CheckBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.button_image = new System.Windows.Forms.Button(); + this.radioButton_save_all = new System.Windows.Forms.RadioButton(); + this.radioButton_save_ng = new System.Windows.Forms.RadioButton(); + this.radioButton_none = new System.Windows.Forms.RadioButton(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.textBox_gain_8 = new System.Windows.Forms.TextBox(); + this.textBox_gain_7 = new System.Windows.Forms.TextBox(); + this.textBox_gain_6 = new System.Windows.Forms.TextBox(); + this.textBox_gain_5 = new System.Windows.Forms.TextBox(); + this.textBox_gain_4 = new System.Windows.Forms.TextBox(); + this.textBox_gain_3 = new System.Windows.Forms.TextBox(); + this.textBox_gain_2 = new System.Windows.Forms.TextBox(); + this.textBox_gain_1 = new System.Windows.Forms.TextBox(); + this.label_gain8 = new System.Windows.Forms.Label(); + this.label_gain7 = new System.Windows.Forms.Label(); + this.label_gain6 = new System.Windows.Forms.Label(); + this.label_gain5 = new System.Windows.Forms.Label(); + this.label_gain4 = new System.Windows.Forms.Label(); + this.label_gain3 = new System.Windows.Forms.Label(); + this.label_gain2 = new System.Windows.Forms.Label(); + this.label_gain1 = new System.Windows.Forms.Label(); + this.textBox_expo_8 = new System.Windows.Forms.TextBox(); + this.textBox_expo_7 = new System.Windows.Forms.TextBox(); + this.textBox_expo_6 = new System.Windows.Forms.TextBox(); + this.textBox_expo_5 = new System.Windows.Forms.TextBox(); + this.textBox_expo_4 = new System.Windows.Forms.TextBox(); + this.textBox_expo_3 = new System.Windows.Forms.TextBox(); + this.textBox_expo_2 = new System.Windows.Forms.TextBox(); + this.textBox_expo_1 = new System.Windows.Forms.TextBox(); + this.label_expo8 = new System.Windows.Forms.Label(); + this.label_expo7 = new System.Windows.Forms.Label(); + this.label_expo6 = new System.Windows.Forms.Label(); + this.label_expo5 = new System.Windows.Forms.Label(); + this.label_expo4 = new System.Windows.Forms.Label(); + this.label_expo3 = new System.Windows.Forms.Label(); + this.label_expo2 = new System.Windows.Forms.Label(); + this.label_expo1 = new System.Windows.Forms.Label(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.textBox_confirm_pwd = new System.Windows.Forms.TextBox(); + this.textBox_new_pwd = new System.Windows.Forms.TextBox(); + this.textBox_old_pwd = new System.Windows.Forms.TextBox(); + this.button_pwd_ok = new System.Windows.Forms.Button(); + this.label_confirm_pwd = new System.Windows.Forms.Label(); + this.label_new_pwd = new System.Windows.Forms.Label(); + this.label_old_pwd = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.textBox_op_new_pwd = new System.Windows.Forms.TextBox(); + this.textBox_op_old_pwd = new System.Windows.Forms.TextBox(); + this.button_op_pwd_ok = new System.Windows.Forms.Button(); + this.label_op_confirm_pwd = new System.Windows.Forms.Label(); + this.label_op_new_pwd = new System.Windows.Forms.Label(); + this.label_op_old_pwd = new System.Windows.Forms.Label(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.textBox_filter_8 = new System.Windows.Forms.TextBox(); + this.textBox_filter_7 = new System.Windows.Forms.TextBox(); + this.textBox_filter_6 = new System.Windows.Forms.TextBox(); + this.textBox_filter_5 = new System.Windows.Forms.TextBox(); + this.textBox_filter_4 = new System.Windows.Forms.TextBox(); + this.textBox_filter_2 = new System.Windows.Forms.TextBox(); + this.textBox_filter_3 = new System.Windows.Forms.TextBox(); + this.textBox_filter_1 = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.button_config = new System.Windows.Forms.Button(); + this.button_change = new System.Windows.Forms.Button(); + this.button_statistic = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.ReSet_Click = new System.Windows.Forms.Button(); + this.SetConf = new System.Windows.Forms.Button(); + this.GetConf = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.checkBox_auto_work); + this.groupBox1.Controls.Add(this.checkBox_auto_open); + this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox1.Location = new System.Drawing.Point(13, 10); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox1.Size = new System.Drawing.Size(600, 62); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "启动设置"; + this.groupBox1.Enter += new System.EventHandler(this.groupBox1_Enter); + // + // checkBox_auto_work + // + this.checkBox_auto_work.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.checkBox_auto_work.Location = new System.Drawing.Point(329, 26); + this.checkBox_auto_work.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.checkBox_auto_work.Name = "checkBox_auto_work"; + this.checkBox_auto_work.Size = new System.Drawing.Size(233, 30); + this.checkBox_auto_work.TabIndex = 1; + this.checkBox_auto_work.Text = "程序启动后自动开始工作"; + this.checkBox_auto_work.UseVisualStyleBackColor = true; + this.checkBox_auto_work.CheckedChanged += new System.EventHandler(this.checkBox_auto_work_CheckedChanged); + // + // checkBox_auto_open + // + this.checkBox_auto_open.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.checkBox_auto_open.Location = new System.Drawing.Point(28, 26); + this.checkBox_auto_open.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.checkBox_auto_open.Name = "checkBox_auto_open"; + this.checkBox_auto_open.Size = new System.Drawing.Size(218, 30); + this.checkBox_auto_open.TabIndex = 0; + this.checkBox_auto_open.Text = "自动打开所有相机"; + this.checkBox_auto_open.UseVisualStyleBackColor = true; + this.checkBox_auto_open.CheckedChanged += new System.EventHandler(this.checkBox_auto_open_CheckedChanged); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.button_image); + this.groupBox2.Controls.Add(this.radioButton_save_all); + this.groupBox2.Controls.Add(this.radioButton_save_ng); + this.groupBox2.Controls.Add(this.radioButton_none); + this.groupBox2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.groupBox2.Location = new System.Drawing.Point(13, 72); + this.groupBox2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox2.Size = new System.Drawing.Size(600, 84); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "存图设置"; + // + // button_image + // + this.button_image.Font = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Bold); + this.button_image.Location = new System.Drawing.Point(492, 27); + this.button_image.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_image.Name = "button_image"; + this.button_image.Size = new System.Drawing.Size(98, 43); + this.button_image.TabIndex = 3; + this.button_image.Text = "确定"; + this.button_image.UseVisualStyleBackColor = true; + this.button_image.Click += new System.EventHandler(this.button_image_Click); + // + // radioButton_save_all + // + this.radioButton_save_all.AutoSize = true; + this.radioButton_save_all.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.radioButton_save_all.Location = new System.Drawing.Point(384, 35); + this.radioButton_save_all.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.radioButton_save_all.Name = "radioButton_save_all"; + this.radioButton_save_all.Size = new System.Drawing.Size(65, 28); + this.radioButton_save_all.TabIndex = 2; + this.radioButton_save_all.TabStop = true; + this.radioButton_save_all.Text = "全存"; + this.radioButton_save_all.UseVisualStyleBackColor = true; + this.radioButton_save_all.CheckedChanged += new System.EventHandler(this.radioButton_save_all_CheckedChanged); + // + // radioButton_save_ng + // + this.radioButton_save_ng.AutoSize = true; + this.radioButton_save_ng.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.radioButton_save_ng.Location = new System.Drawing.Point(207, 35); + this.radioButton_save_ng.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.radioButton_save_ng.Name = "radioButton_save_ng"; + this.radioButton_save_ng.Size = new System.Drawing.Size(75, 28); + this.radioButton_save_ng.TabIndex = 1; + this.radioButton_save_ng.TabStop = true; + this.radioButton_save_ng.Text = "存NG"; + this.radioButton_save_ng.UseVisualStyleBackColor = true; + this.radioButton_save_ng.CheckedChanged += new System.EventHandler(this.radioButton_save_ng_CheckedChanged); + // + // radioButton_none + // + this.radioButton_none.AutoSize = true; + this.radioButton_none.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.radioButton_none.Location = new System.Drawing.Point(25, 35); + this.radioButton_none.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.radioButton_none.Name = "radioButton_none"; + this.radioButton_none.Size = new System.Drawing.Size(65, 28); + this.radioButton_none.TabIndex = 0; + this.radioButton_none.TabStop = true; + this.radioButton_none.Text = "不存"; + this.radioButton_none.UseVisualStyleBackColor = true; + this.radioButton_none.CheckedChanged += new System.EventHandler(this.radioButton_none_CheckedChanged); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.textBox_gain_8); + this.groupBox3.Controls.Add(this.textBox_gain_7); + this.groupBox3.Controls.Add(this.textBox_gain_6); + this.groupBox3.Controls.Add(this.textBox_gain_5); + this.groupBox3.Controls.Add(this.textBox_gain_4); + this.groupBox3.Controls.Add(this.textBox_gain_3); + this.groupBox3.Controls.Add(this.textBox_gain_2); + this.groupBox3.Controls.Add(this.textBox_gain_1); + this.groupBox3.Controls.Add(this.label_gain8); + this.groupBox3.Controls.Add(this.label_gain7); + this.groupBox3.Controls.Add(this.label_gain6); + this.groupBox3.Controls.Add(this.label_gain5); + this.groupBox3.Controls.Add(this.label_gain4); + this.groupBox3.Controls.Add(this.label_gain3); + this.groupBox3.Controls.Add(this.label_gain2); + this.groupBox3.Controls.Add(this.label_gain1); + this.groupBox3.Controls.Add(this.textBox_expo_8); + this.groupBox3.Controls.Add(this.textBox_expo_7); + this.groupBox3.Controls.Add(this.textBox_expo_6); + this.groupBox3.Controls.Add(this.textBox_expo_5); + this.groupBox3.Controls.Add(this.textBox_expo_4); + this.groupBox3.Controls.Add(this.textBox_expo_3); + this.groupBox3.Controls.Add(this.textBox_expo_2); + this.groupBox3.Controls.Add(this.textBox_expo_1); + this.groupBox3.Controls.Add(this.label_expo8); + this.groupBox3.Controls.Add(this.label_expo7); + this.groupBox3.Controls.Add(this.label_expo6); + this.groupBox3.Controls.Add(this.label_expo5); + this.groupBox3.Controls.Add(this.label_expo4); + this.groupBox3.Controls.Add(this.label_expo3); + this.groupBox3.Controls.Add(this.label_expo2); + this.groupBox3.Controls.Add(this.label_expo1); + this.groupBox3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.groupBox3.Location = new System.Drawing.Point(13, 155); + this.groupBox3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox3.Size = new System.Drawing.Size(600, 323); + this.groupBox3.TabIndex = 2; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "相机参数"; + this.groupBox3.Enter += new System.EventHandler(this.groupBox3_Enter); + // + // textBox_gain_8 + // + this.textBox_gain_8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_8.Location = new System.Drawing.Point(502, 286); + this.textBox_gain_8.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_8.Name = "textBox_gain_8"; + this.textBox_gain_8.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_8.TabIndex = 31; + this.textBox_gain_8.TextChanged += new System.EventHandler(this.textBox_gain_8_TextChanged); + // + // textBox_gain_7 + // + this.textBox_gain_7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_7.Location = new System.Drawing.Point(502, 251); + this.textBox_gain_7.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_7.Name = "textBox_gain_7"; + this.textBox_gain_7.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_7.TabIndex = 29; + this.textBox_gain_7.TextChanged += new System.EventHandler(this.textBox_gain_7_TextChanged); + // + // textBox_gain_6 + // + this.textBox_gain_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_6.Location = new System.Drawing.Point(502, 216); + this.textBox_gain_6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_6.Name = "textBox_gain_6"; + this.textBox_gain_6.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_6.TabIndex = 27; + this.textBox_gain_6.TextChanged += new System.EventHandler(this.textBox_gain_6_TextChanged); + // + // textBox_gain_5 + // + this.textBox_gain_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_5.Location = new System.Drawing.Point(502, 181); + this.textBox_gain_5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_5.Name = "textBox_gain_5"; + this.textBox_gain_5.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_5.TabIndex = 25; + this.textBox_gain_5.TextChanged += new System.EventHandler(this.textBox_gain_5_TextChanged); + // + // textBox_gain_4 + // + this.textBox_gain_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_4.Location = new System.Drawing.Point(502, 146); + this.textBox_gain_4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_4.Name = "textBox_gain_4"; + this.textBox_gain_4.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_4.TabIndex = 23; + this.textBox_gain_4.TextChanged += new System.EventHandler(this.textBox_gain_4_TextChanged); + // + // textBox_gain_3 + // + this.textBox_gain_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_3.Location = new System.Drawing.Point(502, 111); + this.textBox_gain_3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_3.Name = "textBox_gain_3"; + this.textBox_gain_3.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_3.TabIndex = 21; + this.textBox_gain_3.TextChanged += new System.EventHandler(this.textBox_gain_3_TextChanged); + // + // textBox_gain_2 + // + this.textBox_gain_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_2.Location = new System.Drawing.Point(502, 76); + this.textBox_gain_2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_2.Name = "textBox_gain_2"; + this.textBox_gain_2.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_2.TabIndex = 19; + this.textBox_gain_2.TextChanged += new System.EventHandler(this.textBox_gain_2_TextChanged); + // + // textBox_gain_1 + // + this.textBox_gain_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_gain_1.Location = new System.Drawing.Point(502, 41); + this.textBox_gain_1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_gain_1.Name = "textBox_gain_1"; + this.textBox_gain_1.Size = new System.Drawing.Size(81, 27); + this.textBox_gain_1.TabIndex = 17; + this.textBox_gain_1.TextChanged += new System.EventHandler(this.textBox_gain_1_TextChanged); + // + // label_gain8 + // + this.label_gain8.AutoSize = true; + this.label_gain8.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain8.Location = new System.Drawing.Point(289, 287); + this.label_gain8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain8.Name = "label_gain8"; + this.label_gain8.Size = new System.Drawing.Size(207, 24); + this.label_gain8.TabIndex = 30; + this.label_gain8.Text = "8#相机模拟增益(0~64):"; + this.label_gain8.Click += new System.EventHandler(this.label_gain8_Click); + // + // label_gain7 + // + this.label_gain7.AutoSize = true; + this.label_gain7.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain7.Location = new System.Drawing.Point(289, 252); + this.label_gain7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain7.Name = "label_gain7"; + this.label_gain7.Size = new System.Drawing.Size(207, 24); + this.label_gain7.TabIndex = 28; + this.label_gain7.Text = "7#相机模拟增益(0~64):"; + // + // label_gain6 + // + this.label_gain6.AutoSize = true; + this.label_gain6.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain6.Location = new System.Drawing.Point(289, 217); + this.label_gain6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain6.Name = "label_gain6"; + this.label_gain6.Size = new System.Drawing.Size(207, 24); + this.label_gain6.TabIndex = 26; + this.label_gain6.Text = "6#相机模拟增益(0~64):"; + // + // label_gain5 + // + this.label_gain5.AutoSize = true; + this.label_gain5.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain5.Location = new System.Drawing.Point(289, 182); + this.label_gain5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain5.Name = "label_gain5"; + this.label_gain5.Size = new System.Drawing.Size(207, 24); + this.label_gain5.TabIndex = 24; + this.label_gain5.Text = "5#相机模拟增益(0~64):"; + // + // label_gain4 + // + this.label_gain4.AutoSize = true; + this.label_gain4.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain4.Location = new System.Drawing.Point(289, 147); + this.label_gain4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain4.Name = "label_gain4"; + this.label_gain4.Size = new System.Drawing.Size(207, 24); + this.label_gain4.TabIndex = 22; + this.label_gain4.Text = "4#相机模拟增益(0~64):"; + // + // label_gain3 + // + this.label_gain3.AutoSize = true; + this.label_gain3.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain3.Location = new System.Drawing.Point(289, 112); + this.label_gain3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain3.Name = "label_gain3"; + this.label_gain3.Size = new System.Drawing.Size(207, 24); + this.label_gain3.TabIndex = 20; + this.label_gain3.Text = "3#相机模拟增益(0~64):"; + // + // label_gain2 + // + this.label_gain2.AutoSize = true; + this.label_gain2.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain2.Location = new System.Drawing.Point(289, 77); + this.label_gain2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain2.Name = "label_gain2"; + this.label_gain2.Size = new System.Drawing.Size(207, 24); + this.label_gain2.TabIndex = 18; + this.label_gain2.Text = "2#相机模拟增益(0~64):"; + // + // label_gain1 + // + this.label_gain1.AutoSize = true; + this.label_gain1.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_gain1.Location = new System.Drawing.Point(289, 42); + this.label_gain1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_gain1.Name = "label_gain1"; + this.label_gain1.Size = new System.Drawing.Size(207, 24); + this.label_gain1.TabIndex = 16; + this.label_gain1.Text = "1#相机模拟增益(0~64):"; + // + // textBox_expo_8 + // + this.textBox_expo_8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_8.Location = new System.Drawing.Point(207, 286); + this.textBox_expo_8.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_8.Name = "textBox_expo_8"; + this.textBox_expo_8.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_8.TabIndex = 15; + this.textBox_expo_8.TextChanged += new System.EventHandler(this.textBox_expo_8_TextChanged); + // + // textBox_expo_7 + // + this.textBox_expo_7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_7.Location = new System.Drawing.Point(207, 251); + this.textBox_expo_7.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_7.Name = "textBox_expo_7"; + this.textBox_expo_7.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_7.TabIndex = 13; + this.textBox_expo_7.TextChanged += new System.EventHandler(this.textBox_expo_7_TextChanged); + // + // textBox_expo_6 + // + this.textBox_expo_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_6.Location = new System.Drawing.Point(207, 216); + this.textBox_expo_6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_6.Name = "textBox_expo_6"; + this.textBox_expo_6.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_6.TabIndex = 11; + this.textBox_expo_6.TextChanged += new System.EventHandler(this.textBox_expo_6_TextChanged); + // + // textBox_expo_5 + // + this.textBox_expo_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_5.Location = new System.Drawing.Point(207, 181); + this.textBox_expo_5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_5.Name = "textBox_expo_5"; + this.textBox_expo_5.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_5.TabIndex = 9; + this.textBox_expo_5.TextChanged += new System.EventHandler(this.textBox_expo_5_TextChanged); + // + // textBox_expo_4 + // + this.textBox_expo_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_4.Location = new System.Drawing.Point(207, 146); + this.textBox_expo_4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_4.Name = "textBox_expo_4"; + this.textBox_expo_4.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_4.TabIndex = 7; + this.textBox_expo_4.TextChanged += new System.EventHandler(this.textBox_expo_4_TextChanged); + // + // textBox_expo_3 + // + this.textBox_expo_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_3.Location = new System.Drawing.Point(207, 111); + this.textBox_expo_3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_3.Name = "textBox_expo_3"; + this.textBox_expo_3.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_3.TabIndex = 5; + this.textBox_expo_3.TextChanged += new System.EventHandler(this.textBox_expo_3_TextChanged); + // + // textBox_expo_2 + // + this.textBox_expo_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_2.Location = new System.Drawing.Point(207, 76); + this.textBox_expo_2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_2.Name = "textBox_expo_2"; + this.textBox_expo_2.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_2.TabIndex = 3; + this.textBox_expo_2.TextChanged += new System.EventHandler(this.textBox_expo_2_TextChanged); + // + // textBox_expo_1 + // + this.textBox_expo_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_expo_1.Location = new System.Drawing.Point(207, 41); + this.textBox_expo_1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_expo_1.Name = "textBox_expo_1"; + this.textBox_expo_1.Size = new System.Drawing.Size(81, 27); + this.textBox_expo_1.TabIndex = 1; + this.textBox_expo_1.TextChanged += new System.EventHandler(this.textBox_expo_1_TextChanged); + // + // label_expo8 + // + this.label_expo8.AutoSize = true; + this.label_expo8.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo8.Location = new System.Drawing.Point(7, 287); + this.label_expo8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo8.Name = "label_expo8"; + this.label_expo8.Size = new System.Drawing.Size(198, 24); + this.label_expo8.TabIndex = 14; + this.label_expo8.Text = "8#相机曝光时间(微秒):"; + // + // label_expo7 + // + this.label_expo7.AutoSize = true; + this.label_expo7.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo7.Location = new System.Drawing.Point(7, 252); + this.label_expo7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo7.Name = "label_expo7"; + this.label_expo7.Size = new System.Drawing.Size(198, 24); + this.label_expo7.TabIndex = 12; + this.label_expo7.Text = "7#相机曝光时间(微秒):"; + // + // label_expo6 + // + this.label_expo6.AutoSize = true; + this.label_expo6.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo6.Location = new System.Drawing.Point(7, 217); + this.label_expo6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo6.Name = "label_expo6"; + this.label_expo6.Size = new System.Drawing.Size(198, 24); + this.label_expo6.TabIndex = 10; + this.label_expo6.Text = "6#相机曝光时间(微秒):"; + // + // label_expo5 + // + this.label_expo5.AutoSize = true; + this.label_expo5.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo5.Location = new System.Drawing.Point(7, 182); + this.label_expo5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo5.Name = "label_expo5"; + this.label_expo5.Size = new System.Drawing.Size(198, 24); + this.label_expo5.TabIndex = 8; + this.label_expo5.Text = "5#相机曝光时间(微秒):"; + // + // label_expo4 + // + this.label_expo4.AutoSize = true; + this.label_expo4.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo4.Location = new System.Drawing.Point(7, 147); + this.label_expo4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo4.Name = "label_expo4"; + this.label_expo4.Size = new System.Drawing.Size(198, 24); + this.label_expo4.TabIndex = 6; + this.label_expo4.Text = "4#相机曝光时间(微秒):"; + // + // label_expo3 + // + this.label_expo3.AutoSize = true; + this.label_expo3.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo3.Location = new System.Drawing.Point(7, 112); + this.label_expo3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo3.Name = "label_expo3"; + this.label_expo3.Size = new System.Drawing.Size(198, 24); + this.label_expo3.TabIndex = 4; + this.label_expo3.Text = "3#相机曝光时间(微秒):"; + // + // label_expo2 + // + this.label_expo2.AutoSize = true; + this.label_expo2.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo2.Location = new System.Drawing.Point(7, 77); + this.label_expo2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo2.Name = "label_expo2"; + this.label_expo2.Size = new System.Drawing.Size(198, 24); + this.label_expo2.TabIndex = 2; + this.label_expo2.Text = "2#相机曝光时间(微秒):"; + this.label_expo2.Click += new System.EventHandler(this.label_expo2_Click); + // + // label_expo1 + // + this.label_expo1.AutoSize = true; + this.label_expo1.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_expo1.Location = new System.Drawing.Point(7, 42); + this.label_expo1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_expo1.Name = "label_expo1"; + this.label_expo1.Size = new System.Drawing.Size(198, 24); + this.label_expo1.TabIndex = 0; + this.label_expo1.Text = "1#相机曝光时间(微秒):"; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.textBox_confirm_pwd); + this.groupBox4.Controls.Add(this.textBox_new_pwd); + this.groupBox4.Controls.Add(this.textBox_old_pwd); + this.groupBox4.Controls.Add(this.button_pwd_ok); + this.groupBox4.Controls.Add(this.label_confirm_pwd); + this.groupBox4.Controls.Add(this.label_new_pwd); + this.groupBox4.Controls.Add(this.label_old_pwd); + this.groupBox4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.groupBox4.Location = new System.Drawing.Point(13, 536); + this.groupBox4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox4.Size = new System.Drawing.Size(590, 78); + this.groupBox4.TabIndex = 6; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "管理员密码修改"; + // + // textBox_confirm_pwd + // + this.textBox_confirm_pwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_confirm_pwd.Location = new System.Drawing.Point(413, 39); + this.textBox_confirm_pwd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_confirm_pwd.Name = "textBox_confirm_pwd"; + this.textBox_confirm_pwd.PasswordChar = '*'; + this.textBox_confirm_pwd.Size = new System.Drawing.Size(81, 27); + this.textBox_confirm_pwd.TabIndex = 5; + this.textBox_confirm_pwd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // textBox_new_pwd + // + this.textBox_new_pwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_new_pwd.Location = new System.Drawing.Point(237, 39); + this.textBox_new_pwd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_new_pwd.Name = "textBox_new_pwd"; + this.textBox_new_pwd.PasswordChar = '*'; + this.textBox_new_pwd.Size = new System.Drawing.Size(81, 27); + this.textBox_new_pwd.TabIndex = 3; + this.textBox_new_pwd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // textBox_old_pwd + // + this.textBox_old_pwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_old_pwd.Location = new System.Drawing.Point(74, 39); + this.textBox_old_pwd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_old_pwd.Name = "textBox_old_pwd"; + this.textBox_old_pwd.PasswordChar = '*'; + this.textBox_old_pwd.Size = new System.Drawing.Size(81, 27); + this.textBox_old_pwd.TabIndex = 1; + this.textBox_old_pwd.TextChanged += new System.EventHandler(this.textBox1_TextChanged_1); + this.textBox_old_pwd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // button_pwd_ok + // + this.button_pwd_ok.Font = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Bold); + this.button_pwd_ok.Location = new System.Drawing.Point(499, 37); + this.button_pwd_ok.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_pwd_ok.Name = "button_pwd_ok"; + this.button_pwd_ok.Size = new System.Drawing.Size(78, 31); + this.button_pwd_ok.TabIndex = 6; + this.button_pwd_ok.Text = "确定"; + this.button_pwd_ok.UseVisualStyleBackColor = true; + this.button_pwd_ok.Click += new System.EventHandler(this.button1_Click); + // + // label_confirm_pwd + // + this.label_confirm_pwd.AutoSize = true; + this.label_confirm_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_confirm_pwd.Location = new System.Drawing.Point(325, 40); + this.label_confirm_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_confirm_pwd.Name = "label_confirm_pwd"; + this.label_confirm_pwd.Size = new System.Drawing.Size(95, 24); + this.label_confirm_pwd.TabIndex = 4; + this.label_confirm_pwd.Text = "确认密码:"; + // + // label_new_pwd + // + this.label_new_pwd.AutoSize = true; + this.label_new_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_new_pwd.Location = new System.Drawing.Point(168, 40); + this.label_new_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_new_pwd.Name = "label_new_pwd"; + this.label_new_pwd.Size = new System.Drawing.Size(78, 24); + this.label_new_pwd.TabIndex = 2; + this.label_new_pwd.Text = "新密码:"; + // + // label_old_pwd + // + this.label_old_pwd.AutoSize = true; + this.label_old_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_old_pwd.Location = new System.Drawing.Point(5, 40); + this.label_old_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_old_pwd.Name = "label_old_pwd"; + this.label_old_pwd.Size = new System.Drawing.Size(78, 24); + this.label_old_pwd.TabIndex = 0; + this.label_old_pwd.Text = "原密码:"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.textBox6); + this.groupBox5.Controls.Add(this.textBox_op_new_pwd); + this.groupBox5.Controls.Add(this.textBox_op_old_pwd); + this.groupBox5.Controls.Add(this.button_op_pwd_ok); + this.groupBox5.Controls.Add(this.label_op_confirm_pwd); + this.groupBox5.Controls.Add(this.label_op_new_pwd); + this.groupBox5.Controls.Add(this.label_op_old_pwd); + this.groupBox5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.groupBox5.Location = new System.Drawing.Point(13, 620); + this.groupBox5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox5.Size = new System.Drawing.Size(590, 78); + this.groupBox5.TabIndex = 7; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "操作员密码修改"; + // + // textBox6 + // + this.textBox6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox6.Location = new System.Drawing.Point(413, 37); + this.textBox6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox6.Name = "textBox6"; + this.textBox6.PasswordChar = '*'; + this.textBox6.Size = new System.Drawing.Size(81, 27); + this.textBox6.TabIndex = 5; + this.textBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // textBox_op_new_pwd + // + this.textBox_op_new_pwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_op_new_pwd.Location = new System.Drawing.Point(237, 37); + this.textBox_op_new_pwd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_op_new_pwd.Name = "textBox_op_new_pwd"; + this.textBox_op_new_pwd.PasswordChar = '*'; + this.textBox_op_new_pwd.Size = new System.Drawing.Size(81, 27); + this.textBox_op_new_pwd.TabIndex = 3; + this.textBox_op_new_pwd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // textBox_op_old_pwd + // + this.textBox_op_old_pwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_op_old_pwd.Location = new System.Drawing.Point(74, 37); + this.textBox_op_old_pwd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_op_old_pwd.Name = "textBox_op_old_pwd"; + this.textBox_op_old_pwd.PasswordChar = '*'; + this.textBox_op_old_pwd.Size = new System.Drawing.Size(81, 27); + this.textBox_op_old_pwd.TabIndex = 1; + this.textBox_op_old_pwd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.m_KeyPress); + // + // button_op_pwd_ok + // + this.button_op_pwd_ok.Font = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Bold); + this.button_op_pwd_ok.Location = new System.Drawing.Point(499, 35); + this.button_op_pwd_ok.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_op_pwd_ok.Name = "button_op_pwd_ok"; + this.button_op_pwd_ok.Size = new System.Drawing.Size(78, 31); + this.button_op_pwd_ok.TabIndex = 6; + this.button_op_pwd_ok.Text = "确定"; + this.button_op_pwd_ok.UseVisualStyleBackColor = true; + this.button_op_pwd_ok.Click += new System.EventHandler(this.button2_Click); + // + // label_op_confirm_pwd + // + this.label_op_confirm_pwd.AutoSize = true; + this.label_op_confirm_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_op_confirm_pwd.Location = new System.Drawing.Point(325, 38); + this.label_op_confirm_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_op_confirm_pwd.Name = "label_op_confirm_pwd"; + this.label_op_confirm_pwd.Size = new System.Drawing.Size(95, 24); + this.label_op_confirm_pwd.TabIndex = 4; + this.label_op_confirm_pwd.Text = "确认密码:"; + // + // label_op_new_pwd + // + this.label_op_new_pwd.AutoSize = true; + this.label_op_new_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_op_new_pwd.Location = new System.Drawing.Point(168, 38); + this.label_op_new_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_op_new_pwd.Name = "label_op_new_pwd"; + this.label_op_new_pwd.Size = new System.Drawing.Size(78, 24); + this.label_op_new_pwd.TabIndex = 2; + this.label_op_new_pwd.Text = "新密码:"; + // + // label_op_old_pwd + // + this.label_op_old_pwd.AutoSize = true; + this.label_op_old_pwd.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label_op_old_pwd.Location = new System.Drawing.Point(5, 38); + this.label_op_old_pwd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_op_old_pwd.Name = "label_op_old_pwd"; + this.label_op_old_pwd.Size = new System.Drawing.Size(78, 24); + this.label_op_old_pwd.TabIndex = 0; + this.label_op_old_pwd.Text = "原密码:"; + // + // groupBox6 + // + this.groupBox6.Controls.Add(this.textBox_filter_8); + this.groupBox6.Controls.Add(this.textBox_filter_7); + this.groupBox6.Controls.Add(this.textBox_filter_6); + this.groupBox6.Controls.Add(this.textBox_filter_5); + this.groupBox6.Controls.Add(this.textBox_filter_4); + this.groupBox6.Controls.Add(this.textBox_filter_2); + this.groupBox6.Controls.Add(this.textBox_filter_3); + this.groupBox6.Controls.Add(this.textBox_filter_1); + this.groupBox6.Controls.Add(this.label8); + this.groupBox6.Controls.Add(this.label7); + this.groupBox6.Controls.Add(this.label6); + this.groupBox6.Controls.Add(this.label5); + this.groupBox6.Controls.Add(this.label4); + this.groupBox6.Controls.Add(this.label2); + this.groupBox6.Controls.Add(this.label3); + this.groupBox6.Controls.Add(this.label1); + this.groupBox6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.groupBox6.Location = new System.Drawing.Point(13, 704); + this.groupBox6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox6.Size = new System.Drawing.Size(590, 177); + this.groupBox6.TabIndex = 8; + this.groupBox6.TabStop = false; + this.groupBox6.Text = "滤波设置"; + // + // textBox_filter_8 + // + this.textBox_filter_8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_8.Location = new System.Drawing.Point(499, 136); + this.textBox_filter_8.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_8.Name = "textBox_filter_8"; + this.textBox_filter_8.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_8.TabIndex = 19; + this.textBox_filter_8.TextChanged += new System.EventHandler(this.textBox_filter_8_TextChanged); + // + // textBox_filter_7 + // + this.textBox_filter_7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_7.Location = new System.Drawing.Point(213, 136); + this.textBox_filter_7.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_7.Name = "textBox_filter_7"; + this.textBox_filter_7.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_7.TabIndex = 17; + this.textBox_filter_7.TextChanged += new System.EventHandler(this.textBox_filter_7_TextChanged); + // + // textBox_filter_6 + // + this.textBox_filter_6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_6.Location = new System.Drawing.Point(499, 102); + this.textBox_filter_6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_6.Name = "textBox_filter_6"; + this.textBox_filter_6.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_6.TabIndex = 15; + this.textBox_filter_6.TextChanged += new System.EventHandler(this.textBox_filter_6_TextChanged); + // + // textBox_filter_5 + // + this.textBox_filter_5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_5.Location = new System.Drawing.Point(213, 102); + this.textBox_filter_5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_5.Name = "textBox_filter_5"; + this.textBox_filter_5.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_5.TabIndex = 13; + this.textBox_filter_5.TextChanged += new System.EventHandler(this.textBox_filter_5_TextChanged); + // + // textBox_filter_4 + // + this.textBox_filter_4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_4.Location = new System.Drawing.Point(499, 68); + this.textBox_filter_4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_4.Name = "textBox_filter_4"; + this.textBox_filter_4.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_4.TabIndex = 7; + this.textBox_filter_4.TextChanged += new System.EventHandler(this.textBox_filter_4_TextChanged); + // + // textBox_filter_2 + // + this.textBox_filter_2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_2.Location = new System.Drawing.Point(499, 34); + this.textBox_filter_2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_2.Name = "textBox_filter_2"; + this.textBox_filter_2.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_2.TabIndex = 3; + this.textBox_filter_2.TextChanged += new System.EventHandler(this.textBox_filter_2_TextChanged); + // + // textBox_filter_3 + // + this.textBox_filter_3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_3.Location = new System.Drawing.Point(213, 68); + this.textBox_filter_3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_3.Name = "textBox_filter_3"; + this.textBox_filter_3.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_3.TabIndex = 5; + this.textBox_filter_3.TextChanged += new System.EventHandler(this.textBox_filter_3_TextChanged); + // + // textBox_filter_1 + // + this.textBox_filter_1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); + this.textBox_filter_1.Location = new System.Drawing.Point(213, 34); + this.textBox_filter_1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_filter_1.Name = "textBox_filter_1"; + this.textBox_filter_1.Size = new System.Drawing.Size(81, 27); + this.textBox_filter_1.TabIndex = 1; + this.textBox_filter_1.TextChanged += new System.EventHandler(this.textBox_filter_1_TextChanged); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label8.Location = new System.Drawing.Point(293, 137); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(198, 24); + this.label8.TabIndex = 18; + this.label8.Text = "8#相机滤波时间(微秒):"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label7.Location = new System.Drawing.Point(12, 137); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(198, 24); + this.label7.TabIndex = 16; + this.label7.Text = "7#相机滤波时间(微秒):"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label6.Location = new System.Drawing.Point(293, 104); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(198, 24); + this.label6.TabIndex = 14; + this.label6.Text = "6#相机滤波时间(微秒):"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label5.Location = new System.Drawing.Point(12, 104); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(198, 24); + this.label5.TabIndex = 12; + this.label5.Text = "5#相机滤波时间(微秒):"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label4.Location = new System.Drawing.Point(293, 71); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(198, 24); + this.label4.TabIndex = 6; + this.label4.Text = "4#相机滤波时间(微秒):"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label2.Location = new System.Drawing.Point(293, 38); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(198, 24); + this.label2.TabIndex = 2; + this.label2.Text = "2#相机滤波时间(微秒):"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label3.Location = new System.Drawing.Point(12, 71); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(198, 24); + this.label3.TabIndex = 4; + this.label3.Text = "3#相机滤波时间(微秒):"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold); + this.label1.Location = new System.Drawing.Point(12, 38); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(198, 24); + this.label1.TabIndex = 0; + this.label1.Text = "1#相机滤波时间(微秒):"; + // + // button_config + // + this.button_config.Location = new System.Drawing.Point(31, 484); + this.button_config.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_config.Name = "button_config"; + this.button_config.Size = new System.Drawing.Size(112, 46); + this.button_config.TabIndex = 3; + this.button_config.Text = "配方设置"; + this.button_config.UseVisualStyleBackColor = true; + this.button_config.Click += new System.EventHandler(this.button_config_Click); + // + // button_change + // + this.button_change.Location = new System.Drawing.Point(256, 484); + this.button_change.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_change.Name = "button_change"; + this.button_change.Size = new System.Drawing.Size(112, 46); + this.button_change.TabIndex = 4; + this.button_change.Text = "换班设置"; + this.button_change.UseVisualStyleBackColor = true; + this.button_change.Click += new System.EventHandler(this.button_change_Click); + // + // button_statistic + // + this.button_statistic.Location = new System.Drawing.Point(481, 484); + this.button_statistic.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_statistic.Name = "button_statistic"; + this.button_statistic.Size = new System.Drawing.Size(112, 46); + this.button_statistic.TabIndex = 5; + this.button_statistic.Text = "产量统计"; + this.button_statistic.UseVisualStyleBackColor = true; + this.button_statistic.Click += new System.EventHandler(this.button_statistic_Click); + // + // button3 + // + this.button3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.button3.Location = new System.Drawing.Point(61, 965); + this.button3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(134, 45); + this.button3.TabIndex = 12; + this.button3.Text = "保存参数"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button4 + // + this.button4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); + this.button4.Location = new System.Drawing.Point(411, 965); + this.button4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(134, 45); + this.button4.TabIndex = 13; + this.button4.Text = "关闭窗口"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // ReSet_Click + // + this.ReSet_Click.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ReSet_Click.Location = new System.Drawing.Point(61, 899); + this.ReSet_Click.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ReSet_Click.Name = "ReSet_Click"; + this.ReSet_Click.Size = new System.Drawing.Size(134, 46); + this.ReSet_Click.TabIndex = 9; + this.ReSet_Click.Text = "重启"; + this.ReSet_Click.UseVisualStyleBackColor = true; + this.ReSet_Click.Click += new System.EventHandler(this.button5_Click); + // + // SetConf + // + this.SetConf.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.SetConf.Location = new System.Drawing.Point(234, 899); + this.SetConf.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.SetConf.Name = "SetConf"; + this.SetConf.Size = new System.Drawing.Size(134, 46); + this.SetConf.TabIndex = 10; + this.SetConf.Text = "更新配置"; + this.SetConf.UseVisualStyleBackColor = true; + this.SetConf.Click += new System.EventHandler(this.SetConf_Click); + // + // GetConf + // + this.GetConf.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.GetConf.Location = new System.Drawing.Point(411, 899); + this.GetConf.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.GetConf.Name = "GetConf"; + this.GetConf.Size = new System.Drawing.Size(134, 46); + this.GetConf.TabIndex = 11; + this.GetConf.Text = "获取配置"; + this.GetConf.UseVisualStyleBackColor = true; + this.GetConf.Click += new System.EventHandler(this.GetConf_Click); + // + // DialogSetup + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.ClientSize = new System.Drawing.Size(632, 1028); + this.Controls.Add(this.GetConf); + this.Controls.Add(this.SetConf); + this.Controls.Add(this.ReSet_Click); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button_statistic); + this.Controls.Add(this.button_change); + this.Controls.Add(this.button_config); + this.Controls.Add(this.groupBox6); + this.Controls.Add(this.groupBox5); + this.Controls.Add(this.groupBox4); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.Name = "DialogSetup"; + this.Text = "系统设置"; + this.groupBox1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + this.groupBox6.ResumeLayout(false); + this.groupBox6.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox checkBox_auto_work; + private System.Windows.Forms.CheckBox checkBox_auto_open; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.GroupBox groupBox6; + private System.Windows.Forms.RadioButton radioButton_none; + private System.Windows.Forms.RadioButton radioButton_save_all; + private System.Windows.Forms.RadioButton radioButton_save_ng; + private System.Windows.Forms.Button button_image; + private System.Windows.Forms.Label label_expo4; + private System.Windows.Forms.Label label_expo3; + private System.Windows.Forms.Label label_expo2; + private System.Windows.Forms.Label label_expo1; + private System.Windows.Forms.Label label_expo5; + private System.Windows.Forms.Label label_expo6; + private System.Windows.Forms.Label label_expo7; + private System.Windows.Forms.Label label_expo8; + private System.Windows.Forms.TextBox textBox_expo_8; + private System.Windows.Forms.TextBox textBox_expo_7; + private System.Windows.Forms.TextBox textBox_expo_6; + private System.Windows.Forms.TextBox textBox_expo_5; + private System.Windows.Forms.TextBox textBox_expo_4; + private System.Windows.Forms.TextBox textBox_expo_3; + private System.Windows.Forms.TextBox textBox_expo_2; + private System.Windows.Forms.TextBox textBox_expo_1; + private System.Windows.Forms.Label label_gain1; + private System.Windows.Forms.Label label_gain2; + private System.Windows.Forms.Label label_gain3; + private System.Windows.Forms.Label label_gain4; + private System.Windows.Forms.Label label_gain5; + private System.Windows.Forms.Label label_gain6; + private System.Windows.Forms.Label label_gain7; + private System.Windows.Forms.Label label_gain8; + private System.Windows.Forms.TextBox textBox_gain_8; + private System.Windows.Forms.TextBox textBox_gain_7; + private System.Windows.Forms.TextBox textBox_gain_6; + private System.Windows.Forms.TextBox textBox_gain_5; + private System.Windows.Forms.TextBox textBox_gain_4; + private System.Windows.Forms.TextBox textBox_gain_3; + private System.Windows.Forms.TextBox textBox_gain_2; + private System.Windows.Forms.TextBox textBox_gain_1; + private System.Windows.Forms.Button button_config; + private System.Windows.Forms.Button button_change; + private System.Windows.Forms.Button button_statistic; + private System.Windows.Forms.Button button_pwd_ok; + private System.Windows.Forms.Label label_confirm_pwd; + private System.Windows.Forms.Label label_new_pwd; + private System.Windows.Forms.Label label_old_pwd; + private System.Windows.Forms.Button button_op_pwd_ok; + private System.Windows.Forms.Label label_op_confirm_pwd; + private System.Windows.Forms.Label label_op_new_pwd; + private System.Windows.Forms.Label label_op_old_pwd; + private System.Windows.Forms.TextBox textBox_confirm_pwd; + private System.Windows.Forms.TextBox textBox_new_pwd; + private System.Windows.Forms.TextBox textBox_old_pwd; + private System.Windows.Forms.TextBox textBox6; + private System.Windows.Forms.TextBox textBox_op_new_pwd; + private System.Windows.Forms.TextBox textBox_op_old_pwd; + private System.Windows.Forms.TextBox textBox_filter_8; + private System.Windows.Forms.TextBox textBox_filter_7; + private System.Windows.Forms.TextBox textBox_filter_6; + private System.Windows.Forms.TextBox textBox_filter_5; + private System.Windows.Forms.TextBox textBox_filter_4; + private System.Windows.Forms.TextBox textBox_filter_2; + private System.Windows.Forms.TextBox textBox_filter_3; + private System.Windows.Forms.TextBox textBox_filter_1; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button ReSet_Click; + private System.Windows.Forms.Button SetConf; + private System.Windows.Forms.Button GetConf; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/DialogSetup.cs b/WindowsFormsApp2/DialogSetup.cs new file mode 100644 index 0000000..55af203 --- /dev/null +++ b/WindowsFormsApp2/DialogSetup.cs @@ -0,0 +1,478 @@ +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 System.Runtime.InteropServices; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; + +namespace WindowsFormsApp2 +{ + public struct CamSetting + { + public int expo; + public int gain; + public int filt; + }; + public struct PassWord + { + public string ori; + public string dst; + public string agin; + }; + public struct ChangeShift + { + public int Ah; + public int Am; + public int Bh; + public int Bm; + public int Ch; + public int Cm; + + public int shift_time; + public int shift_byhand; + public static implicit operator ChangeShift(int v) + { + throw new NotImplementedException(); + } + } + public struct CameraGlue + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + public int[] shoot; + }; + public struct Setting + { + public bool ok; + public bool IsAutoOpenCam; + public bool IsAutoWork; + public int saveimage; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.Struct)] + public CamSetting[] camerasetting; + public bool IsNeedChangePsd; + public PassWord mapsd; + public PassWord oppsd; + public ChangeShift changeshift; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType =UnmanagedType.Struct)] + public CameraGlue[] Cameraglue; + }; + public partial class DialogSetup : Form + { + const int NumberOfSupportedCameras = 8; + public static Setting cam_setting = new Setting(); + + public void UpdateDialog() + { + textBox_old_pwd.Text = ""; + textBox_new_pwd.Text = ""; + textBox_confirm_pwd.Text = ""; + textBox_op_old_pwd.Text = ""; + textBox_op_new_pwd.Text = ""; + textBox6.Text = ""; + + this.checkBox_auto_open.Checked = cam_setting.IsAutoOpenCam; + this.checkBox_auto_work.Checked = cam_setting.IsAutoWork; + switch(cam_setting.saveimage) + { + case 0: this.radioButton_none.Checked = true; this.radioButton_save_ng.Checked = false; this.radioButton_save_all.Checked = false; break; + case 1: this.radioButton_none.Checked = false; this.radioButton_save_ng.Checked = true; this.radioButton_save_all.Checked = false; break; + case 2: this.radioButton_none.Checked = false; this.radioButton_save_ng.Checked = false; this.radioButton_save_all.Checked = true; break; + } + if (cam_setting.camerasetting != null) + { + this.textBox_expo_1.Text = cam_setting.camerasetting[0].expo.ToString(); + this.textBox_expo_2.Text = cam_setting.camerasetting[1].expo.ToString(); + this.textBox_expo_3.Text = cam_setting.camerasetting[2].expo.ToString(); + this.textBox_expo_4.Text = cam_setting.camerasetting[3].expo.ToString(); + this.textBox_expo_5.Text = cam_setting.camerasetting[4].expo.ToString(); + this.textBox_expo_6.Text = cam_setting.camerasetting[5].expo.ToString(); + this.textBox_expo_7.Text = cam_setting.camerasetting[6].expo.ToString(); + this.textBox_expo_8.Text = cam_setting.camerasetting[7].expo.ToString(); + + this.textBox_gain_1.Text = cam_setting.camerasetting[0].gain.ToString(); + this.textBox_gain_2.Text = cam_setting.camerasetting[1].gain.ToString(); + this.textBox_gain_3.Text = cam_setting.camerasetting[2].gain.ToString(); + this.textBox_gain_4.Text = cam_setting.camerasetting[3].gain.ToString(); + this.textBox_gain_5.Text = cam_setting.camerasetting[4].gain.ToString(); + this.textBox_gain_6.Text = cam_setting.camerasetting[5].gain.ToString(); + this.textBox_gain_7.Text = cam_setting.camerasetting[6].gain.ToString(); + this.textBox_gain_8.Text = cam_setting.camerasetting[7].gain.ToString(); + + this.textBox_filter_1.Text = cam_setting.camerasetting[0].filt.ToString(); + this.textBox_filter_2.Text = cam_setting.camerasetting[1].filt.ToString(); + this.textBox_filter_3.Text = cam_setting.camerasetting[2].filt.ToString(); + this.textBox_filter_4.Text = cam_setting.camerasetting[3].filt.ToString(); + this.textBox_filter_5.Text = cam_setting.camerasetting[4].filt.ToString(); + this.textBox_filter_6.Text = cam_setting.camerasetting[5].filt.ToString(); + this.textBox_filter_7.Text = cam_setting.camerasetting[6].filt.ToString(); + this.textBox_filter_8.Text = cam_setting.camerasetting[7].filt.ToString(); + } + } + public DialogSetup() + { + InitializeComponent(); + int index = 0; + cam_setting.ok = true; + cam_setting.IsAutoOpenCam = false; + cam_setting.IsAutoWork = false; + cam_setting.saveimage = 0; + cam_setting.camerasetting = new CamSetting[NumberOfSupportedCameras]; + for (; index < NumberOfSupportedCameras; index++) + { + cam_setting.camerasetting[index].expo = 0; + cam_setting.camerasetting[index].gain = 0; + cam_setting.camerasetting[index].filt = 0; + } + index = 6 + NumberOfSupportedCameras * 3; + cam_setting.changeshift.shift_byhand = 0; + cam_setting.changeshift.shift_time = 0; + index = index + 2; + cam_setting.changeshift.Ah = 0; + cam_setting.changeshift.Am = 0; + cam_setting.changeshift.Bh = 0; + cam_setting.changeshift.Bm = 0; + cam_setting.changeshift.Ch = 0; + cam_setting.changeshift.Cm = 0; + index = index + 6; + + cam_setting.Cameraglue = new CameraGlue[NumberOfSupportedCameras]; + + for (int i = 0; i < NumberOfSupportedCameras; i++) + { + cam_setting.Cameraglue[i].shoot = new int[3]; + cam_setting.Cameraglue[i].shoot[0] = 0; + cam_setting.Cameraglue[i].shoot[1] = 0; + cam_setting.Cameraglue[i].shoot[2] = 0; + } + } + + private void groupBox1_Enter(object sender, EventArgs e) + { + + } + + private void groupBox3_Enter(object sender, EventArgs e) + { + + } + + private void radioButton_save_all_CheckedChanged(object sender, EventArgs e) + { + if (this.radioButton_save_all.Checked) + { + this.radioButton_save_ng.Checked = false; + this.radioButton_save_all.Checked = true; + this.radioButton_none.Checked = false; + } + } + + private void button4_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void button_config_Click(object sender, EventArgs e) + { + Camera_glue cameraGlue = new Camera_glue(); + cameraGlue.StartPosition = FormStartPosition.CenterScreen; + cameraGlue.TopMost = true; + cameraGlue.ShowDialog(); + } + + private void button_change_Click(object sender, EventArgs e) + { + Change_shift changeShift = new Change_shift(); + changeShift.StartPosition = FormStartPosition.CenterScreen; + changeShift.TopMost = true; + changeShift.ShowDialog(); + } + + private void button_statistic_Click(object sender, EventArgs e) + { + Output_statistic outputStatistic = new Output_statistic(); + outputStatistic.StartPosition = FormStartPosition.CenterScreen; + outputStatistic.TopMost = true; + outputStatistic.ShowDialog(); + } + + private void checkBox_auto_open_CheckedChanged(object sender, EventArgs e) + { + cam_setting.IsAutoOpenCam = this.checkBox_auto_open.Checked; + } + + private void textBox1_TextChanged_1(object sender, EventArgs e) + { + + } + + private void checkBox_auto_work_CheckedChanged(object sender, EventArgs e) + { + cam_setting.IsAutoWork = this.checkBox_auto_work.Checked; + } + + private void radioButton_save_ng_CheckedChanged(object sender, EventArgs e) + { + if (this.radioButton_save_ng.Checked) + { + this.radioButton_save_ng.Checked = true; + this.radioButton_save_all.Checked = false; + this.radioButton_none.Checked = false; + } + } + + private void radioButton_none_CheckedChanged(object sender, EventArgs e) + { + if (this.radioButton_none.Checked) + { + this.radioButton_save_ng.Checked = false; + this.radioButton_save_all.Checked = false; + this.radioButton_none.Checked = true; + } + } + + private void textBox_expo_1_TextChanged(object sender, EventArgs e) + { + if(textBox_expo_1.Text != string.Empty) + cam_setting.camerasetting[0].expo = Convert.ToInt32(this.textBox_expo_1.Text.ToString()); + } + + private void textBox_expo_2_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_2.Text != string.Empty) + cam_setting.camerasetting[1].expo = Convert.ToInt32(this.textBox_expo_2.Text.ToString()); + } + + private void textBox_expo_3_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_3.Text != string.Empty) + cam_setting.camerasetting[2].expo = Convert.ToInt32(this.textBox_expo_3.Text.ToString()); + } + + private void textBox_expo_4_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_4.Text != string.Empty) + cam_setting.camerasetting[3].expo = Convert.ToInt32(this.textBox_expo_4.Text.ToString()); + } + private void textBox_expo_5_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_5.Text != string.Empty) + cam_setting.camerasetting[4].expo = Convert.ToInt32(this.textBox_expo_5.Text.ToString()); + } + + private void textBox_expo_6_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_6.Text != string.Empty) + cam_setting.camerasetting[5].expo = Convert.ToInt32(this.textBox_expo_6.Text.ToString()); + } + + private void textBox_expo_7_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_7.Text != string.Empty) + cam_setting.camerasetting[6].expo = Convert.ToInt32(this.textBox_expo_7.Text.ToString()); + } + + private void textBox_expo_8_TextChanged(object sender, EventArgs e) + { + if (textBox_expo_8.Text != string.Empty) + cam_setting.camerasetting[7].expo = Convert.ToInt32(this.textBox_expo_8.Text.ToString()); + } + + private void textBox_gain_1_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_1.Text != string.Empty) + cam_setting.camerasetting[0].gain = Convert.ToInt32(this.textBox_gain_1.Text.ToString()); + } + + private void textBox_gain_2_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_2.Text != string.Empty) + cam_setting.camerasetting[1].gain = Convert.ToInt32(this.textBox_gain_2.Text.ToString()); + } + + private void textBox_gain_3_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_3.Text != string.Empty) + cam_setting.camerasetting[2].gain = Convert.ToInt32(this.textBox_gain_3.Text.ToString()); + } + + private void textBox_gain_4_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_4.Text != string.Empty) + cam_setting.camerasetting[3].gain = Convert.ToInt32(this.textBox_gain_4.Text.ToString()); + } + private void textBox_gain_5_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_5.Text != string.Empty) + cam_setting.camerasetting[4].gain = Convert.ToInt32(this.textBox_gain_5.Text.ToString()); + } + private void textBox_gain_6_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_6.Text != string.Empty) + cam_setting.camerasetting[5].gain = Convert.ToInt32(this.textBox_gain_6.Text.ToString()); + } + private void textBox_gain_7_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_7.Text != string.Empty) + cam_setting.camerasetting[6].gain = Convert.ToInt32(this.textBox_gain_7.Text.ToString()); + } + private void textBox_gain_8_TextChanged(object sender, EventArgs e) + { + if (textBox_gain_8.Text != string.Empty) + cam_setting.camerasetting[7].gain = Convert.ToInt32(this.textBox_gain_8.Text.ToString()); + } + + private void textBox_filter_1_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_1.Text != string.Empty) + cam_setting.camerasetting[0].filt = Convert.ToInt32(this.textBox_filter_1.Text.ToString()); + } + + private void textBox_filter_2_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_2.Text != string.Empty) + cam_setting.camerasetting[1].filt = Convert.ToInt32(this.textBox_filter_2.Text.ToString()); + } + + private void textBox_filter_3_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_3.Text != string.Empty) + cam_setting.camerasetting[2].filt = Convert.ToInt32(this.textBox_filter_3.Text.ToString()); + } + + private void textBox_filter_4_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_4.Text != string.Empty) + cam_setting.camerasetting[3].filt = Convert.ToInt32(this.textBox_filter_4.Text.ToString()); + } + private void textBox_filter_5_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_5.Text != string.Empty) + cam_setting.camerasetting[4].filt = Convert.ToInt32(this.textBox_filter_5.Text.ToString()); + } + private void textBox_filter_6_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_6.Text != string.Empty) + cam_setting.camerasetting[5].filt = Convert.ToInt32(this.textBox_filter_6.Text.ToString()); + } + private void textBox_filter_7_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_7.Text != string.Empty) + cam_setting.camerasetting[6].filt = Convert.ToInt32(this.textBox_filter_7.Text.ToString()); + } + private void textBox_filter_8_TextChanged(object sender, EventArgs e) + { + if (textBox_filter_8.Text != string.Empty) + cam_setting.camerasetting[7].filt = Convert.ToInt32(this.textBox_filter_8.Text.ToString()); + } + + private void button3_Click(object sender, EventArgs e) + { + // 保存参数 + String msg = "UPDSETTING:"; + msg += NumberOfSupportedCameras.ToString() + ":"; + msg += cam_setting.IsAutoOpenCam.ToString() + ":"; + msg += cam_setting.IsAutoWork.ToString() + ":"; + msg += cam_setting.saveimage.ToString() + ":"; + for (int index = 0; index < NumberOfSupportedCameras; index++) + { + msg += cam_setting.camerasetting[index].expo.ToString() + ":"; + msg += cam_setting.camerasetting[index].gain.ToString() + ":"; + msg += cam_setting.camerasetting[index].filt.ToString() + ":"; + } + msg += cam_setting.changeshift.shift_byhand.ToString() + ":"; + msg += cam_setting.changeshift.shift_time.ToString() + ":"; + msg += cam_setting.changeshift.Ah.ToString() + ":"; + msg += cam_setting.changeshift.Am.ToString() + ":"; + msg += cam_setting.changeshift.Bh.ToString() + ":"; + msg += cam_setting.changeshift.Bm.ToString() + ":"; + msg += cam_setting.changeshift.Ch.ToString() + ":"; + msg += cam_setting.changeshift.Cm.ToString() + ":"; + for (int i = 0; i < NumberOfSupportedCameras; i++) + { + msg += cam_setting.Cameraglue[i].shoot[0].ToString() + ":"; + msg += cam_setting.Cameraglue[i].shoot[1].ToString() + ":"; + msg += cam_setting.Cameraglue[i].shoot[2].ToString() + ":"; + } + UserControl1.SendMsg(msg); + } + + private void button1_Click(object sender, EventArgs e) + { + String msg = "ADMINPWDCHANGE:"; + cam_setting.mapsd.ori = this.textBox_old_pwd.Text.ToString(); + cam_setting.mapsd.dst = this.textBox_new_pwd.Text.ToString(); + cam_setting.mapsd.agin = this.textBox_confirm_pwd.Text.ToString(); + msg = msg + cam_setting.mapsd.ori + ":" + cam_setting.mapsd.dst + ":" + cam_setting.mapsd.agin; + UserControl1.SendMsg(msg); + } + + private void button2_Click(object sender, EventArgs e) + { + String msg = "OPERPWDCHANGE:"; + cam_setting.oppsd.ori = this.textBox_op_old_pwd.Text.ToString(); + cam_setting.oppsd.dst = this.textBox_op_new_pwd.Text.ToString(); + cam_setting.oppsd.agin = this.textBox6.Text.ToString(); + msg = msg + cam_setting.oppsd.ori + ":" + cam_setting.oppsd.dst + ":" + cam_setting.oppsd.agin; + UserControl1.SendMsg(msg); + } + + private void button_image_Click(object sender, EventArgs e) + { + if(this.radioButton_none.Checked == true) + { + cam_setting.saveimage = 0; + } + else if(this.radioButton_save_ng.Checked == true) + { + cam_setting.saveimage = 1; + } + else if(this.radioButton_save_all.Checked == true) + { + cam_setting.saveimage = 2; + } + } + + private void m_KeyPress(object sender, KeyPressEventArgs e) + { + if ( + (e.KeyChar > 32 && e.KeyChar < 47)|| + (e.KeyChar > 58 && e.KeyChar < 127) + )//具体数字含义请查询ascii表 + { + MessageBox.Show("请输⼊数字!");//消息提⽰框 + e.Handled = true;//将事件标记为已处理,否则⽆效字符会继续填充进去 + } + } + + private void button5_Click(object sender, EventArgs e) + { + UserControl1.SendMsg("RESTART"); + MessageBox.Show("正在重启软件");/// + this.Close();/// + } + + private void SetConf_Click(object sender, EventArgs e) + { + UserControl1.SendMsg("SETCONF"); + } + + private void GetConf_Click(object sender, EventArgs e) + { + UserControl1.SendMsg("GETCONF"); + } + + private void label_expo2_Click(object sender, EventArgs e) + { + + } + + private void label_gain8_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/WindowsFormsApp2/DialogSetup.resx b/WindowsFormsApp2/DialogSetup.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/DialogSetup.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/WindowsFormsApp2/Form1.Designer.cs b/WindowsFormsApp2/Form1.Designer.cs new file mode 100644 index 0000000..57ebc9e --- /dev/null +++ b/WindowsFormsApp2/Form1.Designer.cs @@ -0,0 +1,66 @@ +namespace WindowsFormsApp2 +{ + partial class Form1 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows 窗体设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.displayResult1 = new WindowsFormsApp2.displayResult(); + this.SuspendLayout(); + // + // displayResult1 + // + this.displayResult1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.displayResult1.BackColor = System.Drawing.Color.Black; + this.displayResult1.Dock = System.Windows.Forms.DockStyle.Fill; + this.displayResult1.Location = new System.Drawing.Point(0, 0); + this.displayResult1.Margin = new System.Windows.Forms.Padding(0); + this.displayResult1.MaximumSize = new System.Drawing.Size(1330, 900); + this.displayResult1.MinimumSize = new System.Drawing.Size(1330, 900); + this.displayResult1.Name = "displayResult1"; + this.displayResult1.Size = new System.Drawing.Size(1330, 900); + this.displayResult1.TabIndex = 0; + this.displayResult1.Load += new System.EventHandler(this.displayResult1_Load); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1327, 892); + this.Controls.Add(this.displayResult1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + + } + + #endregion + + private displayResult displayResult1; + } +} + diff --git a/WindowsFormsApp2/Form1.cs b/WindowsFormsApp2/Form1.cs new file mode 100644 index 0000000..d275b97 --- /dev/null +++ b/WindowsFormsApp2/Form1.cs @@ -0,0 +1,36 @@ +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 WindowsFormsApp2 +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + //Client.InitializeUdpClient(); + } + + protected override void OnClosing(CancelEventArgs e) + { + displayResult1.close(); + base.OnClosing(e); + } + + private void displayResult1_Load(object sender, EventArgs e) + { + + } + } +} diff --git a/WindowsFormsApp2/Form1.resx b/WindowsFormsApp2/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/Form1.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/WindowsFormsApp2/FullScreen.Designer.cs b/WindowsFormsApp2/FullScreen.Designer.cs new file mode 100644 index 0000000..f6a68cc --- /dev/null +++ b/WindowsFormsApp2/FullScreen.Designer.cs @@ -0,0 +1,77 @@ +namespace WindowsFormsApp2 +{ + partial class FullScreen + { + /// + /// 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.rotate = new System.Windows.Forms.Button(); + this.singleCam1 = new WindowsFormsApp2.singleCam(); + this.SuspendLayout(); + // + // rotate + // + this.rotate.BackColor = System.Drawing.Color.Black; + this.rotate.BackgroundImage = global::WindowsFormsApp2.Properties.Resources.rotate; + this.rotate.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.rotate.FlatAppearance.BorderSize = 0; + this.rotate.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.rotate.Location = new System.Drawing.Point(0, 0); + this.rotate.Name = "rotate"; + this.rotate.Size = new System.Drawing.Size(51, 51); + this.rotate.TabIndex = 1; + this.rotate.UseVisualStyleBackColor = false; + this.rotate.Click += new System.EventHandler(this.rotate_Click); + // + // singleCam1 + // + this.singleCam1.BackColor = System.Drawing.Color.Black; + this.singleCam1.Dock = System.Windows.Forms.DockStyle.Fill; + this.singleCam1.Location = new System.Drawing.Point(0, 0); + this.singleCam1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam1.Name = "singleCam1"; + this.singleCam1.Size = new System.Drawing.Size(1582, 853); + this.singleCam1.TabIndex = 0; + // + // FullScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1582, 853); + this.Controls.Add(this.rotate); + this.Controls.Add(this.singleCam1); + this.Name = "FullScreen"; + this.Text = "FullScreen"; + this.ResumeLayout(false); + + } + + #endregion + + private singleCam singleCam1; + private System.Windows.Forms.Button rotate; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/FullScreen.cs b/WindowsFormsApp2/FullScreen.cs new file mode 100644 index 0000000..cf59133 --- /dev/null +++ b/WindowsFormsApp2/FullScreen.cs @@ -0,0 +1,42 @@ +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 WindowsFormsApp2 +{ + public partial class FullScreen : Form + { + public int camid; + public FullScreen() + { + InitializeComponent(); + WindowState = System.Windows.Forms.FormWindowState.Maximized; + if(UserControl1.Debug) + { + this.rotate.Location = new Point(0, 0); + this.rotate.Visible = true; + } + else + { + this.rotate.Visible = false; + } + } + + public void bindCam(int d) + { + singleCam1.setCamId(d); + camid = d; + } + + private void rotate_Click(object sender, EventArgs e) + { + UserControl1.SendMsg(Convert.ToString(camid)); + } + } +} diff --git a/WindowsFormsApp2/FullScreen.resx b/WindowsFormsApp2/FullScreen.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/FullScreen.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/WindowsFormsApp2/Output_statistic.Designer.cs b/WindowsFormsApp2/Output_statistic.Designer.cs new file mode 100644 index 0000000..e082124 --- /dev/null +++ b/WindowsFormsApp2/Output_statistic.Designer.cs @@ -0,0 +1,299 @@ +namespace WindowsFormsApp2 +{ + partial class Output_statistic + { + /// + /// 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.Camera1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.tabPage7 = new System.Windows.Forms.TabPage(); + this.textBox7 = new System.Windows.Forms.TextBox(); + this.tabPage8 = new System.Windows.Forms.TabPage(); + this.textBox8 = new System.Windows.Forms.TextBox(); + this.Camera1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.tabPage6.SuspendLayout(); + this.tabPage7.SuspendLayout(); + this.tabPage8.SuspendLayout(); + this.SuspendLayout(); + // + // Camera1 + // + this.Camera1.Controls.Add(this.tabPage1); + this.Camera1.Controls.Add(this.tabPage2); + this.Camera1.Controls.Add(this.tabPage3); + this.Camera1.Controls.Add(this.tabPage4); + this.Camera1.Controls.Add(this.tabPage5); + this.Camera1.Controls.Add(this.tabPage6); + this.Camera1.Controls.Add(this.tabPage7); + this.Camera1.Controls.Add(this.tabPage8); + this.Camera1.Location = new System.Drawing.Point(3, 7); + this.Camera1.Margin = new System.Windows.Forms.Padding(4); + this.Camera1.Name = "Camera1"; + this.Camera1.SelectedIndex = 0; + this.Camera1.Size = new System.Drawing.Size(683, 417); + this.Camera1.TabIndex = 0; + this.Camera1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_Selected_Change); + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.textBox1); + this.tabPage1.Location = new System.Drawing.Point(4, 25); + this.tabPage1.Margin = new System.Windows.Forms.Padding(4); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(4); + this.tabPage1.Size = new System.Drawing.Size(675, 388); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Camera1"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(0, 0); + this.textBox1.Margin = new System.Windows.Forms.Padding(4); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox1.Size = new System.Drawing.Size(673, 388); + this.textBox1.TabIndex = 1; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.textBox2); + this.tabPage2.Location = new System.Drawing.Point(4, 25); + this.tabPage2.Margin = new System.Windows.Forms.Padding(4); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(4); + this.tabPage2.Size = new System.Drawing.Size(675, 388); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Camera2"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(0, 0); + this.textBox2.Margin = new System.Windows.Forms.Padding(4); + this.textBox2.Multiline = true; + this.textBox2.Name = "textBox2"; + this.textBox2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox2.Size = new System.Drawing.Size(675, 388); + this.textBox2.TabIndex = 1; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.textBox3); + this.tabPage3.Location = new System.Drawing.Point(4, 25); + this.tabPage3.Margin = new System.Windows.Forms.Padding(4); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(4); + this.tabPage3.Size = new System.Drawing.Size(675, 388); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Camera3"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // textBox3 + // + this.textBox3.Location = new System.Drawing.Point(0, 0); + this.textBox3.Margin = new System.Windows.Forms.Padding(4); + this.textBox3.Multiline = true; + this.textBox3.Name = "textBox3"; + this.textBox3.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox3.Size = new System.Drawing.Size(675, 388); + this.textBox3.TabIndex = 1; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.textBox4); + this.tabPage4.Location = new System.Drawing.Point(4, 25); + this.tabPage4.Margin = new System.Windows.Forms.Padding(4); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(4); + this.tabPage4.Size = new System.Drawing.Size(675, 388); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "Camera4"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // textBox4 + // + this.textBox4.Location = new System.Drawing.Point(0, 0); + this.textBox4.Margin = new System.Windows.Forms.Padding(4); + this.textBox4.Multiline = true; + this.textBox4.Name = "textBox4"; + this.textBox4.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox4.Size = new System.Drawing.Size(675, 388); + this.textBox4.TabIndex = 1; + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.textBox5); + this.tabPage5.Location = new System.Drawing.Point(4, 25); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(3); + this.tabPage5.Size = new System.Drawing.Size(675, 388); + this.tabPage5.TabIndex = 4; + this.tabPage5.Text = "Camera5"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // textBox5 + // + this.textBox5.Location = new System.Drawing.Point(0, 0); + this.textBox5.Margin = new System.Windows.Forms.Padding(4); + this.textBox5.Multiline = true; + this.textBox5.Name = "textBox5"; + this.textBox5.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox5.Size = new System.Drawing.Size(673, 388); + this.textBox5.TabIndex = 1; + // + // tabPage6 + // + this.tabPage6.Controls.Add(this.textBox6); + this.tabPage6.Location = new System.Drawing.Point(4, 25); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.Padding = new System.Windows.Forms.Padding(3); + this.tabPage6.Size = new System.Drawing.Size(675, 388); + this.tabPage6.TabIndex = 5; + this.tabPage6.Text = "Camera6"; + this.tabPage6.UseVisualStyleBackColor = true; + // + // textBox6 + // + this.textBox6.Location = new System.Drawing.Point(0, 0); + this.textBox6.Margin = new System.Windows.Forms.Padding(4); + this.textBox6.Multiline = true; + this.textBox6.Name = "textBox6"; + this.textBox6.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox6.Size = new System.Drawing.Size(673, 388); + this.textBox6.TabIndex = 1; + // + // tabPage7 + // + this.tabPage7.Controls.Add(this.textBox7); + this.tabPage7.Location = new System.Drawing.Point(4, 25); + this.tabPage7.Name = "tabPage7"; + this.tabPage7.Padding = new System.Windows.Forms.Padding(3); + this.tabPage7.Size = new System.Drawing.Size(675, 388); + this.tabPage7.TabIndex = 6; + this.tabPage7.Text = "Camera7"; + this.tabPage7.UseVisualStyleBackColor = true; + // + // textBox7 + // + this.textBox7.Location = new System.Drawing.Point(0, 0); + this.textBox7.Margin = new System.Windows.Forms.Padding(4); + this.textBox7.Multiline = true; + this.textBox7.Name = "textBox7"; + this.textBox7.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox7.Size = new System.Drawing.Size(673, 388); + this.textBox7.TabIndex = 1; + // + // tabPage8 + // + this.tabPage8.Controls.Add(this.textBox8); + this.tabPage8.Location = new System.Drawing.Point(4, 25); + this.tabPage8.Name = "tabPage8"; + this.tabPage8.Padding = new System.Windows.Forms.Padding(3); + this.tabPage8.Size = new System.Drawing.Size(675, 388); + this.tabPage8.TabIndex = 7; + this.tabPage8.Text = "Camera8"; + this.tabPage8.UseVisualStyleBackColor = true; + // + // textBox8 + // + this.textBox8.Location = new System.Drawing.Point(0, 0); + this.textBox8.Margin = new System.Windows.Forms.Padding(4); + this.textBox8.Multiline = true; + this.textBox8.Name = "textBox8"; + this.textBox8.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox8.Size = new System.Drawing.Size(673, 388); + this.textBox8.TabIndex = 1; + // + // Output_statistic + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(693, 455); + this.Controls.Add(this.Camera1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "Output_statistic"; + this.Text = "产量统计"; + this.Camera1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.tabPage3.PerformLayout(); + this.tabPage4.ResumeLayout(false); + this.tabPage4.PerformLayout(); + this.tabPage5.ResumeLayout(false); + this.tabPage5.PerformLayout(); + this.tabPage6.ResumeLayout(false); + this.tabPage6.PerformLayout(); + this.tabPage7.ResumeLayout(false); + this.tabPage7.PerformLayout(); + this.tabPage8.ResumeLayout(false); + this.tabPage8.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl Camera1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.TabPage tabPage7; + private System.Windows.Forms.TabPage tabPage8; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.TextBox textBox4; + private System.Windows.Forms.TextBox textBox5; + private System.Windows.Forms.TextBox textBox6; + private System.Windows.Forms.TextBox textBox7; + private System.Windows.Forms.TextBox textBox8; + } +} \ No newline at end of file diff --git a/WindowsFormsApp2/Output_statistic.cs b/WindowsFormsApp2/Output_statistic.cs new file mode 100644 index 0000000..aa7563f --- /dev/null +++ b/WindowsFormsApp2/Output_statistic.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + public partial class Output_statistic : Form + { + public Output_statistic() + { + InitializeComponent(); + string path = @"camera" + this.Camera1.SelectedIndex +"_statistic.txt"; + string text = null; + if (File.Exists(path)) + { + text = System.IO.File.ReadAllText(path, Encoding.Default); + } + switch (this.Camera1.SelectedIndex) + { + case 0: textBox1.Text = text; break; + case 1: textBox2.Text = text; break; + case 2: textBox3.Text = text; break; + case 3: textBox4.Text = text; break; + case 4: textBox5.Text = text; break; + case 5: textBox6.Text = text; break; + case 6: textBox7.Text = text; break; + case 7: textBox8.Text = text; break; + + } + } + + private void tabControl1_Selected_Change(object sender, EventArgs e) + { + string path = @"camera" + this.Camera1.SelectedIndex +"_statistic.txt"; + string text = null; + if (File.Exists(path)) + { + text = System.IO.File.ReadAllText(path, Encoding.Default); + } + switch (this.Camera1.SelectedIndex) + { + case 0: textBox1.Text = text; break; + case 1: textBox2.Text = text; break; + case 2: textBox3.Text = text; break; + case 3: textBox4.Text = text; break; + case 4: textBox5.Text = text; break; + case 5: textBox6.Text = text; break; + case 6: textBox7.Text = text; break; + case 7: textBox8.Text = text; break; + + } + + } + } +} diff --git a/WindowsFormsApp2/Output_statistic.resx b/WindowsFormsApp2/Output_statistic.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/Output_statistic.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/WindowsFormsApp2/Program.cs b/WindowsFormsApp2/Program.cs new file mode 100644 index 0000000..90fd659 --- /dev/null +++ b/WindowsFormsApp2/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + static class Program + { + /// + /// 应用程序的主入口点。 + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/WindowsFormsApp2/Properties/AssemblyInfo.cs b/WindowsFormsApp2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0830243 --- /dev/null +++ b/WindowsFormsApp2/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("WindowsFormsApp2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WindowsFormsApp2")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("83837354-1a01-4df5-99d7-27fe79d43a86")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WindowsFormsApp2/Properties/Resources.Designer.cs b/WindowsFormsApp2/Properties/Resources.Designer.cs new file mode 100644 index 0000000..493470d --- /dev/null +++ b/WindowsFormsApp2/Properties/Resources.Designer.cs @@ -0,0 +1,113 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace WindowsFormsApp2.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowsFormsApp2.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; + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _lock { + get { + object obj = ResourceManager.GetObject("lock", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap pause { + get { + object obj = ResourceManager.GetObject("pause", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap rotate { + get { + object obj = ResourceManager.GetObject("rotate", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap start { + get { + object obj = ResourceManager.GetObject("start", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap unlock { + get { + object obj = ResourceManager.GetObject("unlock", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/WindowsFormsApp2/Properties/Resources.resx b/WindowsFormsApp2/Properties/Resources.resx new file mode 100644 index 0000000..269afc8 --- /dev/null +++ b/WindowsFormsApp2/Properties/Resources.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Resources\pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\unlock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\lock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\start.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\rotate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/WindowsFormsApp2/Properties/Settings.Designer.cs b/WindowsFormsApp2/Properties/Settings.Designer.cs new file mode 100644 index 0000000..cf04d55 --- /dev/null +++ b/WindowsFormsApp2/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace WindowsFormsApp2.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.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/WindowsFormsApp2/Properties/Settings.settings b/WindowsFormsApp2/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/WindowsFormsApp2/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/WindowsFormsApp2/Resources/alarm.png b/WindowsFormsApp2/Resources/alarm.png new file mode 100644 index 0000000..a90260e Binary files /dev/null and b/WindowsFormsApp2/Resources/alarm.png differ diff --git a/WindowsFormsApp2/Resources/cam1.png b/WindowsFormsApp2/Resources/cam1.png new file mode 100644 index 0000000..b58f399 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam1.png differ diff --git a/WindowsFormsApp2/Resources/cam1_no.png b/WindowsFormsApp2/Resources/cam1_no.png new file mode 100644 index 0000000..df64b79 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam1_no.png differ diff --git a/WindowsFormsApp2/Resources/cam1_yes.png b/WindowsFormsApp2/Resources/cam1_yes.png new file mode 100644 index 0000000..cc5cdf5 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam1_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam2.png b/WindowsFormsApp2/Resources/cam2.png new file mode 100644 index 0000000..5bc7613 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam2.png differ diff --git a/WindowsFormsApp2/Resources/cam2_no.png b/WindowsFormsApp2/Resources/cam2_no.png new file mode 100644 index 0000000..9b1c83b Binary files /dev/null and b/WindowsFormsApp2/Resources/cam2_no.png differ diff --git a/WindowsFormsApp2/Resources/cam2_yes.png b/WindowsFormsApp2/Resources/cam2_yes.png new file mode 100644 index 0000000..51f30c9 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam2_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam3.png b/WindowsFormsApp2/Resources/cam3.png new file mode 100644 index 0000000..a132efe Binary files /dev/null and b/WindowsFormsApp2/Resources/cam3.png differ diff --git a/WindowsFormsApp2/Resources/cam3_no.png b/WindowsFormsApp2/Resources/cam3_no.png new file mode 100644 index 0000000..a4bb3eb Binary files /dev/null and b/WindowsFormsApp2/Resources/cam3_no.png differ diff --git a/WindowsFormsApp2/Resources/cam3_yes.png b/WindowsFormsApp2/Resources/cam3_yes.png new file mode 100644 index 0000000..5d523bf Binary files /dev/null and b/WindowsFormsApp2/Resources/cam3_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam4.png b/WindowsFormsApp2/Resources/cam4.png new file mode 100644 index 0000000..28c08de Binary files /dev/null and b/WindowsFormsApp2/Resources/cam4.png differ diff --git a/WindowsFormsApp2/Resources/cam4_no.png b/WindowsFormsApp2/Resources/cam4_no.png new file mode 100644 index 0000000..a3b3f8a Binary files /dev/null and b/WindowsFormsApp2/Resources/cam4_no.png differ diff --git a/WindowsFormsApp2/Resources/cam4_yes.png b/WindowsFormsApp2/Resources/cam4_yes.png new file mode 100644 index 0000000..7a2aa1d Binary files /dev/null and b/WindowsFormsApp2/Resources/cam4_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam5_no.png b/WindowsFormsApp2/Resources/cam5_no.png new file mode 100644 index 0000000..5e7660c Binary files /dev/null and b/WindowsFormsApp2/Resources/cam5_no.png differ diff --git a/WindowsFormsApp2/Resources/cam5_yes.png b/WindowsFormsApp2/Resources/cam5_yes.png new file mode 100644 index 0000000..47aad92 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam5_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam6_no.png b/WindowsFormsApp2/Resources/cam6_no.png new file mode 100644 index 0000000..b4d1cb6 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam6_no.png differ diff --git a/WindowsFormsApp2/Resources/cam6_yes.png b/WindowsFormsApp2/Resources/cam6_yes.png new file mode 100644 index 0000000..44438c1 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam6_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam7_no.png b/WindowsFormsApp2/Resources/cam7_no.png new file mode 100644 index 0000000..c7c18c8 Binary files /dev/null and b/WindowsFormsApp2/Resources/cam7_no.png differ diff --git a/WindowsFormsApp2/Resources/cam7_yes.png b/WindowsFormsApp2/Resources/cam7_yes.png new file mode 100644 index 0000000..4f2924a Binary files /dev/null and b/WindowsFormsApp2/Resources/cam7_yes.png differ diff --git a/WindowsFormsApp2/Resources/cam8_no.png b/WindowsFormsApp2/Resources/cam8_no.png new file mode 100644 index 0000000..775e21f Binary files /dev/null and b/WindowsFormsApp2/Resources/cam8_no.png differ diff --git a/WindowsFormsApp2/Resources/cam8_yes.png b/WindowsFormsApp2/Resources/cam8_yes.png new file mode 100644 index 0000000..0d7ba2f Binary files /dev/null and b/WindowsFormsApp2/Resources/cam8_yes.png differ diff --git a/WindowsFormsApp2/Resources/exit.png b/WindowsFormsApp2/Resources/exit.png new file mode 100644 index 0000000..ffd4acb Binary files /dev/null and b/WindowsFormsApp2/Resources/exit.png differ diff --git a/WindowsFormsApp2/Resources/keyboard.png b/WindowsFormsApp2/Resources/keyboard.png new file mode 100644 index 0000000..bebfa28 Binary files /dev/null and b/WindowsFormsApp2/Resources/keyboard.png differ diff --git a/WindowsFormsApp2/Resources/lock.png b/WindowsFormsApp2/Resources/lock.png new file mode 100644 index 0000000..7651853 Binary files /dev/null and b/WindowsFormsApp2/Resources/lock.png differ diff --git a/WindowsFormsApp2/Resources/logo.png b/WindowsFormsApp2/Resources/logo.png new file mode 100644 index 0000000..15fe2a2 Binary files /dev/null and b/WindowsFormsApp2/Resources/logo.png differ diff --git a/WindowsFormsApp2/Resources/pause.png b/WindowsFormsApp2/Resources/pause.png new file mode 100644 index 0000000..2d359a6 Binary files /dev/null and b/WindowsFormsApp2/Resources/pause.png differ diff --git a/WindowsFormsApp2/Resources/plc.png b/WindowsFormsApp2/Resources/plc.png new file mode 100644 index 0000000..1504bdc Binary files /dev/null and b/WindowsFormsApp2/Resources/plc.png differ diff --git a/WindowsFormsApp2/Resources/rotate.png b/WindowsFormsApp2/Resources/rotate.png new file mode 100644 index 0000000..41449a8 Binary files /dev/null and b/WindowsFormsApp2/Resources/rotate.png differ diff --git a/WindowsFormsApp2/Resources/setup.png b/WindowsFormsApp2/Resources/setup.png new file mode 100644 index 0000000..59db0d0 Binary files /dev/null and b/WindowsFormsApp2/Resources/setup.png differ diff --git a/WindowsFormsApp2/Resources/shanghai-Logo.png b/WindowsFormsApp2/Resources/shanghai-Logo.png new file mode 100644 index 0000000..3c0332b Binary files /dev/null and b/WindowsFormsApp2/Resources/shanghai-Logo.png differ diff --git a/WindowsFormsApp2/Resources/start.png b/WindowsFormsApp2/Resources/start.png new file mode 100644 index 0000000..da3be3d Binary files /dev/null and b/WindowsFormsApp2/Resources/start.png differ diff --git a/WindowsFormsApp2/Resources/unlock.png b/WindowsFormsApp2/Resources/unlock.png new file mode 100644 index 0000000..88bf476 Binary files /dev/null and b/WindowsFormsApp2/Resources/unlock.png differ diff --git a/WindowsFormsApp2/UserControl1.Designer.cs b/WindowsFormsApp2/UserControl1.Designer.cs new file mode 100644 index 0000000..224ba09 --- /dev/null +++ b/WindowsFormsApp2/UserControl1.Designer.cs @@ -0,0 +1,422 @@ +namespace WindowsFormsApp2 +{ + partial class UserControl1 + { + /// + /// 必需的设计器变量。 + /// + 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.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UserControl1)); + this.button5 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.checkBox2 = new System.Windows.Forms.CheckBox(); + this.button2 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.ReSet = new System.Windows.Forms.Button(); + this.label8 = new System.Windows.Forms.Label(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button4 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // button5 + // + this.button5.Location = new System.Drawing.Point(4, 675); + this.button5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(104, 32); + this.button5.TabIndex = 4; + this.button5.Text = "换班"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.button5_Click); + // + // button6 + // + this.button6.Location = new System.Drawing.Point(4, 711); + this.button6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(104, 32); + this.button6.TabIndex = 5; + this.button6.Text = "清理图片"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.button6_Click); + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.ForeColor = System.Drawing.SystemColors.ButtonFace; + this.checkBox1.Location = new System.Drawing.Point(4, 747); + this.checkBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(89, 19); + this.checkBox1.TabIndex = 6; + this.checkBox1.Text = "调试模式"; + this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.Click += new System.EventHandler(this.checkBox1_Click); + // + // checkBox2 + // + this.checkBox2.AutoSize = true; + this.checkBox2.ForeColor = System.Drawing.SystemColors.ButtonFace; + this.checkBox2.Location = new System.Drawing.Point(4, 770); + this.checkBox2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.checkBox2.Name = "checkBox2"; + this.checkBox2.Size = new System.Drawing.Size(74, 19); + this.checkBox2.TabIndex = 7; + this.checkBox2.Text = "不剔除"; + this.checkBox2.UseVisualStyleBackColor = true; + this.checkBox2.Click += new System.EventHandler(this.checkBox2_Click); + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.Black; + this.button2.BackgroundImage = global::WindowsFormsApp2.Properties.Resources.pause; + this.button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button2.Location = new System.Drawing.Point(4, 174); + this.button2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(104, 91); + this.button2.TabIndex = 1; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.label1.Location = new System.Drawing.Point(4, 593); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(37, 15); + this.label1.TabIndex = 8; + this.label1.Text = "上班"; + // + // textBox1 + // + this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox1.ForeColor = System.Drawing.Color.White; + this.textBox1.Location = new System.Drawing.Point(4, 612); + this.textBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.Size = new System.Drawing.Size(89, 18); + this.textBox1.TabIndex = 9; + // + // textBox2 + // + this.textBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox2.ForeColor = System.Drawing.Color.White; + this.textBox2.Location = new System.Drawing.Point(4, 653); + this.textBox2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(89, 18); + this.textBox2.TabIndex = 11; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.label2.Location = new System.Drawing.Point(4, 634); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(37, 15); + this.label2.TabIndex = 10; + this.label2.Text = "当班"; + // + // ReSet + // + this.ReSet.Location = new System.Drawing.Point(4, 459); + this.ReSet.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.ReSet.Name = "ReSet"; + this.ReSet.Size = new System.Drawing.Size(109, 30); + this.ReSet.TabIndex = 14; + this.ReSet.Text = "复位"; + this.ReSet.UseVisualStyleBackColor = true; + this.ReSet.Click += new System.EventHandler(this.ReSet_Click); + // + // label8 + // + this.label8.BackColor = System.Drawing.Color.Lime; + this.label8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label8.Font = new System.Drawing.Font("宋体", 25F); + this.label8.Location = new System.Drawing.Point(491, 0); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label8"; + this.label8.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label8.Size = new System.Drawing.Size(431, 48); + this.label8.TabIndex = 16; + this.label8.Text = "胶点检测系统"; + this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // statusStrip1 + // + this.statusStrip1.AutoSize = false; + this.statusStrip1.BackColor = System.Drawing.Color.Transparent; + this.statusStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1, + this.toolStripStatusLabel2}); + this.statusStrip1.Location = new System.Drawing.Point(1065, 32); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(404, 28); + this.statusStrip1.TabIndex = 20; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolStripStatusLabel1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.toolStripStatusLabel1.ForeColor = System.Drawing.SystemColors.Window; + this.toolStripStatusLabel1.ImageTransparentColor = System.Drawing.SystemColors.Desktop; + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(219, 22); + this.toolStripStatusLabel1.Text = "toolStripStatusLabel1"; + // + // toolStripStatusLabel2 + // + this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; + this.toolStripStatusLabel2.Size = new System.Drawing.Size(167, 22); + this.toolStripStatusLabel2.Text = "toolStripStatusLabel2"; + // + // label3 + // + this.label3.BackColor = System.Drawing.Color.Transparent; + this.label3.Font = new System.Drawing.Font("宋体", 12F); + this.label3.ForeColor = System.Drawing.SystemColors.Control; + this.label3.Location = new System.Drawing.Point(74, 9); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label3.Size = new System.Drawing.Size(356, 26); + this.label3.TabIndex = 21; + this.label3.Text = "上海烟草集团有限责任公司上海卷烟厂"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label4 + // + this.label4.BackColor = System.Drawing.Color.Transparent; + this.label4.Font = new System.Drawing.Font("宋体", 12F); + this.label4.ForeColor = System.Drawing.SystemColors.Control; + this.label4.Location = new System.Drawing.Point(103, 38); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label4.Size = new System.Drawing.Size(293, 22); + this.label4.TabIndex = 22; + this.label4.Text = "http://www.sh.tobacco.com.cn/"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label5 + // + this.label5.BackColor = System.Drawing.Color.Transparent; + this.label5.Font = new System.Drawing.Font("宋体", 12F); + this.label5.ForeColor = System.Drawing.SystemColors.Control; + this.label5.Location = new System.Drawing.Point(1004, 6); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label5.Size = new System.Drawing.Size(292, 26); + this.label5.TabIndex = 23; + this.label5.Text = "Tel:87907256(0532)青岛维克"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label6 + // + this.label6.BackColor = System.Drawing.Color.Lime; + this.label6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label6.Font = new System.Drawing.Font("宋体", 15F); + this.label6.Location = new System.Drawing.Point(4, 561); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label6"; + this.label6.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.label6.Size = new System.Drawing.Size(108, 28); + this.label6.TabIndex = 25; + this.label6.Text = "运行中"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label7 + // + this.label7.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(6, 536); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(101, 25); + this.label7.TabIndex = 27; + this.label7.Text = "无警报"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.label7.DoubleClick += new System.EventHandler(this.label7_DoubleClick); + // + // button_apply + // + this.button1.BackgroundImage = global::WindowsFormsApp2.Properties.Resources.start; + this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button1.Location = new System.Drawing.Point(4, 80); + this.button1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button1.Name = "button_apply"; + this.button1.Size = new System.Drawing.Size(104, 91); + this.button1.TabIndex = 0; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button7 + // + this.button7.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button7.BackgroundImage"))); + this.button7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button7.Location = new System.Drawing.Point(6, 494); + this.button7.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.button7.Name = "button7"; + this.button7.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.button7.Size = new System.Drawing.Size(101, 36); + this.button7.TabIndex = 26; + this.button7.UseVisualStyleBackColor = true; + this.button7.Click += new System.EventHandler(this.button7_Click); + // + // pictureBox1 + // + this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(12, 2); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(57, 72); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 17; + this.pictureBox1.TabStop = false; + // + // button4 + // + this.button4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button4.BackgroundImage"))); + this.button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button4.Location = new System.Drawing.Point(4, 364); + this.button4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(104, 91); + this.button4.TabIndex = 3; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // button3 + // + this.button3.BackgroundImage = global::WindowsFormsApp2.Properties.Resources.unlock; + this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.Location = new System.Drawing.Point(4, 269); + this.button3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(104, 91); + this.button3.TabIndex = 2; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // UserControl1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.button1); + this.Controls.Add(this.label7); + this.Controls.Add(this.button7); + this.Controls.Add(this.label6); + this.Controls.Add(this.label5); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.label8); + this.Controls.Add(this.ReSet); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.label2); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label1); + this.Controls.Add(this.checkBox2); + this.Controls.Add(this.checkBox1); + this.Controls.Add(this.button6); + this.Controls.Add(this.button5); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Margin = new System.Windows.Forms.Padding(0); + this.Name = "UserControl1"; + this.Size = new System.Drawing.Size(1299, 800); + this.Load += new System.EventHandler(this.UserControl1_Load); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.CheckBox checkBox2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button ReSet; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Label label7; + } +} diff --git a/WindowsFormsApp2/UserControl1.cs b/WindowsFormsApp2/UserControl1.cs new file mode 100644 index 0000000..04b9b04 --- /dev/null +++ b/WindowsFormsApp2/UserControl1.cs @@ -0,0 +1,668 @@ +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 System.Net; +using System.Net.Sockets; +using System.Threading; +using System.IO; +using System.Runtime.InteropServices; + +namespace WindowsFormsApp2 +{ + public partial class UserControl1 : UserControl + { + [DllImport("USER32.DLL")] + public static extern bool SetForegroundWindow(IntPtr hWnd); + + const int NumberOfSupportedCameras = 8; + public Thread recvThread = null; + public Thread filerecvThread = null; + bool m_Done = false; + public static byte[] clientIP = new byte[] { 192, 168, 10, 127 }; + public static byte[] localIP = new byte[] { 192, 168, 10, 127 }; + public static int ordPort = 3333; + public static int feedPort = 2999; + public static int filePort = 2999; + UdpClient u = null; + UdpClient fileu = null; + public static int[] status = new int[5]; + DialogSetup setup = new DialogSetup(); + public static bool Stop = true;//停止 + public static bool Debug;//调试状态 + protected virtual void OnClosing(System.ComponentModel.CancelEventArgs e) + { + m_Done = true; + } + public static void SendMsg(string obj) + { + try + { + UdpClient udpcSend = new UdpClient(0); + byte[] sendbytes = Encoding.UTF8.GetBytes(obj); + // IPEndPoint remoteIpep = new IPEndPoint(IPAddress.Parse("192.168.31.243"), 3333); + IPEndPoint remoteIpep = new IPEndPoint(new IPAddress(clientIP), ordPort); + udpcSend.Send(sendbytes, sendbytes.Length, remoteIpep); + udpcSend.Close(); + } + catch + { + } + } + + public void RecMsg() + { + try + { + u = new UdpClient(new IPEndPoint(new IPAddress(localIP), feedPort)); + recvThread = new Thread(new ThreadStart(Received)); + recvThread.Priority = ThreadPriority.Normal; + recvThread.Start(); + + fileu = new UdpClient(new IPEndPoint(new IPAddress(localIP), filePort)); + filerecvThread = new Thread(new ThreadStart(FileReceived)); + filerecvThread.Priority = ThreadPriority.Normal; + filerecvThread.Start(); + } + catch + { + //SOCKETEventArrive("receive:Nullerror"); + } + } + private void FileSend(String FileName ,int port) + { + try + { + UdpClient udpcSend = new UdpClient(0); + FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read); + StreamReader sw = new StreamReader(fs, Encoding.ASCII); + + String filename = Path.GetFileName(FileName); + String sync = "SYNC"; + + String FileStartFrame = sync; + FileStartFrame = FileStartFrame + "str"; + FileStartFrame = FileStartFrame + filename; + byte[] sendbytes = Encoding.ASCII.GetBytes(FileStartFrame); + udpcSend.Send(sendbytes, sendbytes.Length, new IPEndPoint(new IPAddress(clientIP), port)); + + //尚未读取的⽂件内容长度 + long left = fs.Length; + //存储读取结果 + char[] bytes = new char[2000]; + //每次读取长度 + int maxLength = bytes.Length; + //读取位置 + int start = 0; + //实际返回结果长度 + int num = 0; + //当⽂件未读取长度⼤于0时,不断进⾏读取 + while (left > 0) + { + fs.Position = start; + num = 0; + if (left < maxLength) + num = sw.Read(bytes, 0, Convert.ToInt32(left)); + else + num = sw.Read(bytes, 0, maxLength); + if (num == 0) + break; + start += num; + left -= num; + + String FileFrame = sync; + FileFrame = FileFrame + "con"; + FileFrame = FileFrame + new string(bytes,0, num + 7); + sendbytes = Encoding.ASCII.GetBytes(FileFrame); + udpcSend.Send(sendbytes, sendbytes.Length, new IPEndPoint(new IPAddress(clientIP), port)); + Thread.Sleep(10); //防止系统资源耗尽 + } + + String FileEndFrame = sync; + FileEndFrame = FileEndFrame + "end"; + FileEndFrame = FileEndFrame + fs.Length.ToString(); + sendbytes = Encoding.ASCII.GetBytes(FileEndFrame); + udpcSend.Send(sendbytes, sendbytes.Length, new IPEndPoint(new IPAddress(clientIP), port)); + + sw.Close(); + fs.Close(); + udpcSend.Close(); + } + catch + { + throw; + } + } + private void FileReceived() + { + FileStream fs = null; + StreamWriter sw = null; + String filename = ""; + + while (!m_Done) + { + IPEndPoint endpoint = null; + if (fileu != null && null != filerecvThread && filerecvThread.IsAlive) + { + //接收数据 + try + { + Byte[] data = fileu.Receive(ref endpoint); + //得到数据的ACSII的字符串形式 + String receiveString = Encoding.Default.GetString(data); + if (receiveString != null) + { + String str = receiveString.Substring(0, 4); + if(str == "SYNC") + { + str = receiveString.Substring(4, 3); + if(str == "str") + { + filename = receiveString.Substring(7, receiveString.Length - 7); + if (fs == null) + fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite); + fs.Seek(0, SeekOrigin.Begin); + fs.SetLength(0); + } + else if(str == "con") + { + str = receiveString.Substring(7, receiveString.Length - 7); + if(fs != null) + { + if(sw == null) + sw = new StreamWriter(fs, Encoding.Default); + sw.Write(str); + } + } + else if (str == "end") + { + str = receiveString.Substring(7, receiveString.Length - 7); + if (sw != null) + { + sw.Close(); + sw = null; + } + if (fs != null) + { + fs.Close(); + fs = null; + } + if(filename == "conf.txt") + { + string startuppath = Application.StartupPath; + var p = System.Diagnostics.Process.Start(startuppath + "/" + filename); + if (p != null) + SetForegroundWindow(p.MainWindowHandle); + } + } + } + } + } + catch + { + throw; + } + } + Thread.Sleep(10); //防止系统资源耗尽 + } + } + private void Received() + { + //ASCII 编码 + Encoding ASCII = Encoding.ASCII; + while (!m_Done) + { + IPEndPoint endpoint = null; + if (u != null && null != recvThread && recvThread.IsAlive) + { + //接收数据 + try + { + Byte[] data = u.Receive(ref endpoint); + //得到数据的ACSII的字符串形式 + String receiveString = ASCII.GetString(data); + if (receiveString != null) + { + if (receiveString.CompareTo("OpNoLogin") == 0) + { + // 需要登录 + DialogLogin dialogLogin = new DialogLogin(); + dialogLogin.IsAdmin = false; + dialogLogin.StartPosition = FormStartPosition.CenterScreen; + // dialogLogin.Location = new Point((SystemInformation.PrimaryMonitorSize.Width - dialogLogin.Width) / 2,(SystemInformation.PrimaryMonitorSize.Height - dialogLogin.Height) / 2); + dialogLogin.TopMost = true; + dialogLogin.ShowDialog(); + } + else if (receiveString.CompareTo("AdminNoLogin") == 0) + { + // 需要登录 + DialogLogin dialogLogin = new DialogLogin(); + dialogLogin.IsAdmin = true; + dialogLogin.StartPosition = FormStartPosition.CenterScreen; + // dialogLogin.Location = new Point((SystemInformation.PrimaryMonitorSize.Width - dialogLogin.Width) / 2,(SystemInformation.PrimaryMonitorSize.Height - dialogLogin.Height) / 2); + dialogLogin.TopMost = true; + dialogLogin.ShowDialog(); + } + else if (receiveString.CompareTo("UnKickFail") == 0) + { + CheckBox2Progress(false); + } + else if (receiveString.CompareTo("UnKickOk") == 0) + { + CheckBox2Progress(true); + } + else if (receiveString.CompareTo("DebugEnStillWork") == 0) + { + CheckBox1Progress(false); + DialogResult dr = MessageBox.Show("请先点击‘暂停工作’按钮,才能进入调试模式", "操作顺序检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("DebugDisStillWork") == 0) + { + CheckBox1Progress(false); + DialogResult dr = MessageBox.Show("请先点击‘暂停工作’按钮,才能进入调试模式", "操作顺序检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("DebugEnFail") == 0) + { + CheckBox1Progress(false); + } + else if (receiveString.CompareTo("DebugDisFail") == 0) + { + CheckBox1Progress(true); + } + else if (receiveString.CompareTo("DebugEn") == 0) + { + CheckBox1Progress(true); + } + else if (receiveString.CompareTo("DebugDis") == 0) + { + CheckBox1Progress(false); + } + else if (receiveString.CompareTo("KickFail") == 0) + { + CheckBox2Progress(true); + } + else if (receiveString.CompareTo("LoginIn") == 0) + { + // CheckBox1Progress(true); + } + else if (receiveString.CompareTo("PswError") == 0) + { + DialogResult dr = MessageBox.Show("密码错误,请重新输入", "提示消息", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("Need_Login") == 0) + { + DialogResult dr = MessageBox.Show("请先点击解锁按钮,进入管理员模式", "权限检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("CheckWorkState") == 0) + { + DialogResult dr = MessageBox.Show("请先点击“暂停工作”按钮,进入暂停模式,才可以进行换班操作", "状态检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("UnlockOk") == 0) + { + button3.BackgroundImage = WindowsFormsApp2.Properties.Resources._lock; + } + else if (receiveString.CompareTo("LockOk") == 0) + { + button3.BackgroundImage = WindowsFormsApp2.Properties.Resources.unlock; + } + else if (receiveString.CompareTo("StillDebug") == 0) + { + DialogResult dr = MessageBox.Show("请先点击“调试模式”复选框,取消调试模式,才可以开始工作", "操作顺序检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("KickOk") == 0) + { + CheckBox2Progress(false); + } + else if (receiveString.CompareTo("CanGetSetting") == 0) + { + SendMsg("GETSETTINGPRO:" + NumberOfSupportedCameras.ToString()); + var task = Task.Run(async delegate + { + await Task.Delay(500); + setup.UpdateDialog(); + setup.StartPosition = FormStartPosition.CenterScreen;//中心 + setup.TopMost = true; + setup.ShowDialog(); + }); + } + else if (receiveString.CompareTo("CanSetConf") == 0) + { + try + { + FileSend("conf.txt", filePort); + DialogResult dr = MessageBox.Show("配置已发送", "状态", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + catch + { + DialogResult dr = MessageBox.Show("配置发送失败", "状态", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + } + else if (receiveString.CompareTo("RestartFailInWorking") == 0) // still in working when restart application + { + DialogResult dr = MessageBox.Show("请先点击‘暂停工作’按钮,再重启程序", "操作顺序检查", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("Work") == 0) + { + label6.Text = " 运行中 "; + label8.BackColor = Color.Lime; + label6.BackColor = Color.Lime; + } + else if (receiveString.CompareTo("NoWork") == 0) //no work + { + label6.Text = " 未运行 "; + label8.BackColor = Color.Yellow; + label6.BackColor = Color.Yellow; + } + else if (receiveString.CompareTo("UpSettingOk") == 0) + { + DialogResult dr = MessageBox.Show("保存参数成功", "状态", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + } + else if (receiveString.CompareTo("ReStartOk") == 0) + { + ///重启恢复状态 + label6.Text = " 运行中 "; + label8.BackColor = Color.Lime; + label6.BackColor = Color.Lime; + + DialogResult dr = MessageBox.Show("启动成功", "状态", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); + + } + else + { + if(receiveString.IndexOf('_') != -1) + { + string[] str = receiveString.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); + if(str[0] == "total") + { + textBox2.Text=str[1]; + } + else if(str[0] == "totallast") + { + textBox1.Text=str[1]; + } + else if(str[0] == "getsetting") + { + int index =0; + DialogSetup.cam_setting.ok = true; + DialogSetup.cam_setting.IsAutoOpenCam = Convert.ToBoolean(int.Parse(str[1])); + DialogSetup.cam_setting.IsAutoWork = Convert.ToBoolean(int.Parse(str[2])); + DialogSetup.cam_setting.saveimage = int.Parse(str[3]); + for (;index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 161, 17 + + + + + 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 + A3dO25EF1AppAAAAAElFTkSuQmCC + + + + + /9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBD + AAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0M + DgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAz/wAARCACiALYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF + BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk + M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG + h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx + 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA + AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5 + OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq + srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9 + /KKKKACiiigAooooAKKKKACikLYWo/tIA+8n50AS0ZxVfzt55+nFHmYPX8qLMnmXcsZzRUInVD95ffJ6 + U7zv92jXqUtdUSUUZooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmySBUb5lH1olkVUbLKOD1N + fMX/AAUr/wCCiWh/sA/BU6xcQwax4n1wyW3h7RxJtN7OqgtJIw+7BHuUuw55VRlmGKjG7scuMxlHC0ZV + 67tGO52v7W/7c/w7/Yo8D/21481uGxSYMLHT4B52oao46pDDnLe7HCLkbmUHNfk7+1T/AMHEfxQ+JupX + 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 + SUVORK5CYII= + + + + 25 + + \ No newline at end of file diff --git a/WindowsFormsApp2/WindowsFormsApp2.csproj b/WindowsFormsApp2/WindowsFormsApp2.csproj new file mode 100644 index 0000000..40a9fa2 --- /dev/null +++ b/WindowsFormsApp2/WindowsFormsApp2.csproj @@ -0,0 +1,204 @@ + + + + + Debug + AnyCPU + {83837354-1A01-4DF5-99D7-27FE79D43A86} + Library + WindowsFormsApp2 + WindowsFormsApp2 + v4.8 + 512 + true + + + + AnyCPU + true + full + false + ..\Publish\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + ..\Publish\ + TRACE + prompt + 1 + + + + + + + + + + + + + + + + + + + + Form + + + Alarm_Record.cs + + + Form + + + Camera_glue.cs + + + Form + + + Change_shift.cs + + + + UserControl + + + displayResult.cs + + + Form + + + Form1.cs + + + Form + + + DialogSetup.cs + + + Form + + + FullScreen.cs + + + Form + + + Output_statistic.cs + + + + + UserControl + + + singleCam.cs + + + UserControl + + + singleCam2.cs + + + UserControl + + + UserControl1.cs + + + Form + + + DialogLogin.cs + + + Alarm_Record.cs + + + Camera_glue.cs + + + Change_shift.cs + + + displayResult.cs + + + Form1.cs + + + DialogSetup.cs + + + FullScreen.cs + + + Output_statistic.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + singleCam.cs + + + singleCam2.cs + + + UserControl1.cs + Designer + + + DialogLogin.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WindowsFormsApp2/displayResult.Designer.cs b/WindowsFormsApp2/displayResult.Designer.cs new file mode 100644 index 0000000..5a47b08 --- /dev/null +++ b/WindowsFormsApp2/displayResult.Designer.cs @@ -0,0 +1,163 @@ +namespace WindowsFormsApp2 +{ + partial class displayResult + { + /// + /// 必需的设计器变量。 + /// + 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.singleCam8 = new WindowsFormsApp2.singleCam(); + this.singleCam7 = new WindowsFormsApp2.singleCam(); + this.singleCam6 = new WindowsFormsApp2.singleCam(); + this.singleCam5 = new WindowsFormsApp2.singleCam(); + this.singleCam3 = new WindowsFormsApp2.singleCam(); + this.singleCam4 = new WindowsFormsApp2.singleCam(); + this.singleCam2 = new WindowsFormsApp2.singleCam(); + this.singleCam1 = new WindowsFormsApp2.singleCam(); + this.userControl11 = new WindowsFormsApp2.UserControl1(); + this.SuspendLayout(); + // + // singleCam8 + // + this.singleCam8.BackColor = System.Drawing.Color.Black; + this.singleCam8.Location = new System.Drawing.Point(720, 685); + this.singleCam8.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam8.Name = "singleCam8"; + this.singleCam8.Size = new System.Drawing.Size(600, 200); + this.singleCam8.TabIndex = 8; + // + // singleCam7 + // + this.singleCam7.BackColor = System.Drawing.Color.Black; + this.singleCam7.Location = new System.Drawing.Point(720, 479); + this.singleCam7.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam7.Name = "singleCam7"; + this.singleCam7.Size = new System.Drawing.Size(600, 200); + this.singleCam7.TabIndex = 7; + // + // singleCam6 + // + this.singleCam6.BackColor = System.Drawing.Color.Black; + this.singleCam6.Location = new System.Drawing.Point(720, 273); + this.singleCam6.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam6.Name = "singleCam6"; + this.singleCam6.Size = new System.Drawing.Size(600, 200); + this.singleCam6.TabIndex = 6; + // + // singleCam5 + // + this.singleCam5.BackColor = System.Drawing.Color.Black; + this.singleCam5.Location = new System.Drawing.Point(720, 67); + this.singleCam5.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam5.Name = "singleCam5"; + this.singleCam5.Size = new System.Drawing.Size(600, 200); + this.singleCam5.TabIndex = 5; + // this.singleCam5.DoubleClick += new System.EventHandler(this.singleCam5_DoubleClick); + // + // singleCam3 + // + this.singleCam3.BackColor = System.Drawing.Color.Black; + this.singleCam3.Location = new System.Drawing.Point(112, 479); + this.singleCam3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam3.Name = "singleCam3"; + this.singleCam3.Size = new System.Drawing.Size(600, 200); + this.singleCam3.TabIndex = 3; + // + // singleCam4 + // + this.singleCam4.BackColor = System.Drawing.Color.Black; + this.singleCam4.Location = new System.Drawing.Point(112, 685); + this.singleCam4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam4.Name = "singleCam4"; + this.singleCam4.Size = new System.Drawing.Size(600, 200); + this.singleCam4.TabIndex = 4; + // + // singleCam2 + // + this.singleCam2.BackColor = System.Drawing.Color.Black; + this.singleCam2.Location = new System.Drawing.Point(112, 273); + this.singleCam2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam2.Name = "singleCam2"; + this.singleCam2.Size = new System.Drawing.Size(600, 200); + this.singleCam2.TabIndex = 2; + // + // singleCam1 + // + this.singleCam1.BackColor = System.Drawing.Color.Black; + this.singleCam1.Location = new System.Drawing.Point(112, 67); + this.singleCam1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.singleCam1.Name = "singleCam1"; + this.singleCam1.Size = new System.Drawing.Size(600, 200); + this.singleCam1.TabIndex = 1; + // this.singleCam1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.singleCam1_MouseDoubleClick); + // + // userControl11 + // + this.userControl11.BackColor = System.Drawing.Color.Black; + this.userControl11.Location = new System.Drawing.Point(0, 0); + this.userControl11.Margin = new System.Windows.Forms.Padding(0); + this.userControl11.Name = "userControl11"; + this.userControl11.Size = new System.Drawing.Size(1330, 900); + this.userControl11.TabIndex = 0; + // this.userControl11.Load += new System.EventHandler(this.userControl11_Load); + // + // displayResult + // + this.AutoScaleDimensions = new System.Drawing.SizeF(120F, 120F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.singleCam5); + this.Controls.Add(this.singleCam8); + this.Controls.Add(this.singleCam7); + this.Controls.Add(this.singleCam6); + this.Controls.Add(this.singleCam4); + this.Controls.Add(this.singleCam3); + this.Controls.Add(this.singleCam2); + this.Controls.Add(this.singleCam1); + this.Controls.Add(this.userControl11); + this.Margin = new System.Windows.Forms.Padding(4); + this.MaximumSize = new System.Drawing.Size(1330, 900); + this.MinimumSize = new System.Drawing.Size(1330, 900); + this.Name = "displayResult"; + this.Size = new System.Drawing.Size(1330, 900); + // this.Load += new System.EventHandler(this.displayResult_Load); + this.ResumeLayout(false); + + } + + #endregion + + private UserControl1 userControl11; + private singleCam singleCam2; + private singleCam singleCam3; + private singleCam singleCam4; + private singleCam singleCam5; + private singleCam singleCam6; + private singleCam singleCam7; + private singleCam singleCam8; + public singleCam singleCam1; + } +} diff --git a/WindowsFormsApp2/displayResult.cs b/WindowsFormsApp2/displayResult.cs new file mode 100644 index 0000000..c6e5ec2 --- /dev/null +++ b/WindowsFormsApp2/displayResult.cs @@ -0,0 +1,61 @@ +using System.Drawing; +using System.Reflection.Emit; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + public partial class displayResult : UserControl + { + + public displayResult() + { + InitializeComponent(); + singleCam1.callback = callback; + singleCam2.callback = callback; + singleCam3.callback = callback; + singleCam4.callback = callback; + singleCam5.callback = callback; + singleCam6.callback = callback; + singleCam7.callback = callback; + singleCam8.callback = callback; + } + + void callback(int id) + { + FullScreen dial = new FullScreen(); + if (id > -1) + { + dial.bindCam(id); + dial.Show(); + } + } + + + public void init() + { + singleCam1.setCamId(0); + singleCam2.setCamId(1); + singleCam3.setCamId(2); + singleCam4.setCamId(3); + singleCam5.setCamId(4); + singleCam6.setCamId(5); + singleCam7.setCamId(6); + singleCam8.setCamId(7); + } + + public void close() + { + singleCam1.closeSocket(); + singleCam2.closeSocket(); + singleCam3.closeSocket(); + singleCam4.closeSocket(); + singleCam5.closeSocket(); + singleCam6.closeSocket(); + singleCam7.closeSocket(); + singleCam8.closeSocket(); + userControl11.closeSocket(); + } + + + } +} diff --git a/WindowsFormsApp2/displayResult.resx b/WindowsFormsApp2/displayResult.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/displayResult.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/WindowsFormsApp2/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs b/WindowsFormsApp2/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs new file mode 100644 index 0000000..3aa5318 --- /dev/null +++ b/WindowsFormsApp2/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] diff --git a/WindowsFormsApp2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/WindowsFormsApp2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/WindowsFormsApp2/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/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..7c8d2c3 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..579a4a6 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/WindowsFormsApp2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/WindowsFormsApp2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..576f7e1 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/WindowsFormsApp2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Alarm_Record.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Alarm_Record.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Alarm_Record.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Camera_glue.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Camera_glue.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Camera_glue.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Change_shift.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Change_shift.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Change_shift.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogLogin.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogLogin.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogLogin.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogSetup.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogSetup.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.DialogSetup.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Form1.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Form1.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.FullScreen.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.FullScreen.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.FullScreen.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Output_statistic.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Output_statistic.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Output_statistic.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Properties.Resources.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Properties.Resources.resources new file mode 100644 index 0000000..9225cea Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.Properties.Resources.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.UserControl1.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.UserControl1.resources new file mode 100644 index 0000000..006ff9a Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.UserControl1.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.AssemblyReference.cache b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.AssemblyReference.cache new file mode 100644 index 0000000..6fd3a89 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.AssemblyReference.cache differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.CoreCompileInputs.cache b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ec0b5bb --- /dev/null +++ b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +efae7d3405c08cd599c1ade1c54aa61a6fa5c3a5 diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.FileListAbsolute.txt b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..1bd3d60 --- /dev/null +++ b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.FileListAbsolute.txt @@ -0,0 +1,103 @@ +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\WindowsFormsApp2.dll.config +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\Publish\WindowsFormsApp2.pdb +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Alarm_Record.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Camera_glue.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Change_shift.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.displayResult.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Form1.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogSetup.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Output_statistic.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Properties.Resources.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam2.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.UserControl1.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogLogin.resources +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\远程端\230428-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\WindowsFormsApp2.dll.config +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\Publish\WindowsFormsApp2.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Alarm_Record.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Camera_glue.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Change_shift.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.displayResult.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Form1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogSetup.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Output_statistic.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Properties.Resources.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam2.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.UserControl1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogLogin.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\程序测试\远程端\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.pdb +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.pdb +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csprojAssemblyReference.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Alarm_Record.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Camera_glue.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Change_shift.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.displayResult.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Form1.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogSetup.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.FullScreen.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Output_statistic.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Properties.Resources.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam2.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.UserControl1.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogLogin.resources +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.GenerateResource.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.CoreCompileInputs.cache +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.pdb +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.dll.config +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.dll +C:\Users\PC\Downloads\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.dll +D:\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.dll.config +D:\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.dll +D:\230512-UDPSend\230508-UDPSend\Publish\WindowsFormsApp2.pdb +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.AssemblyReference.cache +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Alarm_Record.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Camera_glue.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Change_shift.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.displayResult.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Form1.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogSetup.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.FullScreen.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Output_statistic.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Properties.Resources.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam2.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.UserControl1.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogLogin.resources +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.GenerateResource.cache +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.CoreCompileInputs.cache +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.dll +D:\230512-UDPSend\230508-UDPSend\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\WindowsFormsApp2.dll.config +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\Publish\WindowsFormsApp2.pdb +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.AssemblyReference.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Alarm_Record.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Camera_glue.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Change_shift.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.displayResult.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Form1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogSetup.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.FullScreen.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Output_statistic.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.Properties.Resources.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.singleCam2.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.UserControl1.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.DialogLogin.resources +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.GenerateResource.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.csproj.CoreCompileInputs.cache +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.dll +D:\烟厂资料\烟厂程序\程序测试\远程端\230519-解决配方、换班设置问题\WindowsFormsApp2\obj\Debug\WindowsFormsApp2.pdb diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.GenerateResource.cache b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.GenerateResource.cache new file mode 100644 index 0000000..84501dd Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csproj.GenerateResource.cache differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csprojAssemblyReference.cache b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csprojAssemblyReference.cache new file mode 100644 index 0000000..e21ba74 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.csprojAssemblyReference.cache differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.displayResult.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.displayResult.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.displayResult.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.dll b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.dll new file mode 100644 index 0000000..8121614 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.dll differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.pdb b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.pdb new file mode 100644 index 0000000..696a6a7 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.pdb differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam.resources differ diff --git a/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam2.resources b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam2.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/WindowsFormsApp2/obj/Debug/WindowsFormsApp2.singleCam2.resources differ diff --git a/WindowsFormsApp2/singleCam.Designer.cs b/WindowsFormsApp2/singleCam.Designer.cs new file mode 100644 index 0000000..efa79b8 --- /dev/null +++ b/WindowsFormsApp2/singleCam.Designer.cs @@ -0,0 +1,365 @@ +namespace WindowsFormsApp2 +{ + partial class singleCam + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (null!=client) + client.DisConnection(); + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textBox7 = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel3.SuspendLayout(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 897); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(1576, 50); + this.panel1.TabIndex = 0; + // + // groupBox1 + // + this.groupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.groupBox1.Controls.Add(this.textBox7); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.textBox6); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.textBox5); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Font = new System.Drawing.Font("宋体", 10F); + this.groupBox1.ForeColor = System.Drawing.Color.White; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.groupBox1.Size = new System.Drawing.Size(1576, 50); + this.groupBox1.TabIndex = 9; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "1#分析结果"; + // + // textBox7 + // + this.textBox7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox7.Font = new System.Drawing.Font("宋体", 11F); + this.textBox7.ForeColor = System.Drawing.Color.White; + this.textBox7.Location = new System.Drawing.Point(429, 24); + this.textBox7.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox7.Name = "textBox7"; + this.textBox7.ReadOnly = true; + this.textBox7.Size = new System.Drawing.Size(69, 21); + this.textBox7.TabIndex = 18; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("宋体", 10F); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(345, 24); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(93, 17); + this.label7.TabIndex = 16; + this.label7.Text = "识别时间:"; + // + // label8 + // + this.label8.BackColor = System.Drawing.Color.Lime; + this.label8.Font = new System.Drawing.Font("宋体", 15F); + this.label8.Location = new System.Drawing.Point(525, 20); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(60, 24); + this.label8.TabIndex = 15; + this.label8.Text = " OK "; + this.label8.Visible = false; + // + // textBox6 + // + this.textBox6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox6.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox6.Font = new System.Drawing.Font("宋体", 11F); + this.textBox6.ForeColor = System.Drawing.Color.White; + this.textBox6.Location = new System.Drawing.Point(260, 22); + this.textBox6.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox6.Name = "textBox6"; + this.textBox6.ReadOnly = true; + this.textBox6.Size = new System.Drawing.Size(69, 21); + this.textBox6.TabIndex = 12; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("宋体", 10F); + this.label6.ForeColor = System.Drawing.Color.White; + this.label6.Location = new System.Drawing.Point(175, 22); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(93, 17); + this.label6.TabIndex = 11; + this.label6.Text = "胶点个数:"; + // + // textBox5 + // + this.textBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox5.Font = new System.Drawing.Font("宋体", 11F); + this.textBox5.ForeColor = System.Drawing.Color.White; + this.textBox5.Location = new System.Drawing.Point(91, 23); + this.textBox5.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox5.Name = "textBox5"; + this.textBox5.ReadOnly = true; + this.textBox5.Size = new System.Drawing.Size(69, 21); + this.textBox5.TabIndex = 10; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("宋体", 10F); + this.label5.ForeColor = System.Drawing.Color.White; + this.label5.Location = new System.Drawing.Point(5, 24); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(85, 17); + this.label5.TabIndex = 9; + this.label5.Text = "采集速度:"; + // + // panel2 + // + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.panel3); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(1576, 897); + this.panel2.TabIndex = 2; + // + // pictureBox1 + // + this.pictureBox1.AccessibleRole = System.Windows.Forms.AccessibleRole.Window; + this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.pictureBox1.MaximumSize = new System.Drawing.Size(1400, 900); + this.pictureBox1.MinimumSize = new System.Drawing.Size(400, 150); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(1376, 897); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 1; + this.pictureBox1.TabStop = false; + this.pictureBox1.DoubleClick += new System.EventHandler(this.pictureBox1_DoubleClick); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.panel3.Controls.Add(this.textBox4); + this.panel3.Controls.Add(this.textBox3); + this.panel3.Controls.Add(this.textBox2); + this.panel3.Controls.Add(this.textBox1); + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.label3); + this.panel3.Controls.Add(this.label2); + this.panel3.Controls.Add(this.label1); + this.panel3.Dock = System.Windows.Forms.DockStyle.Right; + this.panel3.Font = new System.Drawing.Font("宋体", 11F); + this.panel3.ForeColor = System.Drawing.Color.White; + this.panel3.Location = new System.Drawing.Point(1376, 0); + this.panel3.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(200, 897); + this.panel3.TabIndex = 0; + // + // textBox4 + // + this.textBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox4.ForeColor = System.Drawing.Color.White; + this.textBox4.Location = new System.Drawing.Point(120, 120); + this.textBox4.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox4.Name = "textBox4"; + this.textBox4.ReadOnly = true; + this.textBox4.Size = new System.Drawing.Size(60, 21); + this.textBox4.TabIndex = 7; + this.textBox4.Text = "0"; + // + // textBox3 + // + this.textBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox3.ForeColor = System.Drawing.Color.White; + this.textBox3.Location = new System.Drawing.Point(120, 85); + this.textBox3.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox3.Name = "textBox3"; + this.textBox3.ReadOnly = true; + this.textBox3.Size = new System.Drawing.Size(60, 21); + this.textBox3.TabIndex = 6; + this.textBox3.Text = "0"; + // + // textBox2 + // + this.textBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox2.ForeColor = System.Drawing.Color.White; + this.textBox2.Location = new System.Drawing.Point(120, 50); + this.textBox2.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox2.Name = "textBox2"; + this.textBox2.ReadOnly = true; + this.textBox2.Size = new System.Drawing.Size(60, 21); + this.textBox2.TabIndex = 5; + this.textBox2.Text = "0"; + // + // textBox1 + // + this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox1.ForeColor = System.Drawing.Color.White; + this.textBox1.Location = new System.Drawing.Point(120, 15); + this.textBox1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.Size = new System.Drawing.Size(60, 21); + this.textBox1.TabIndex = 4; + this.textBox1.Text = "0"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.ForeColor = System.Drawing.Color.White; + this.label4.Location = new System.Drawing.Point(11, 120); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(86, 19); + this.label4.TabIndex = 3; + this.label4.Text = "1#剔除数"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Location = new System.Drawing.Point(11, 85); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(68, 19); + this.label3.TabIndex = 2; + this.label3.Text = "1#NG数"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(11, 50); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(68, 19); + this.label2.TabIndex = 1; + this.label2.Text = "1#OK数"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(8, 15); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(86, 19); + this.label1.TabIndex = 0; + this.label1.Text = "1#检测数"; + // + // singleCam + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.Name = "singleCam"; + this.Size = new System.Drawing.Size(1576, 947); + this.panel1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox textBox6; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox textBox5; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.TextBox textBox4; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox textBox7; + public System.Windows.Forms.PictureBox pictureBox1; + } +} diff --git a/WindowsFormsApp2/singleCam.cs b/WindowsFormsApp2/singleCam.cs new file mode 100644 index 0000000..6e57e0d --- /dev/null +++ b/WindowsFormsApp2/singleCam.cs @@ -0,0 +1,228 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WindowsFormsApp2 +{ + public partial class singleCam : UserControl + { + + static singleCam() + { + + } + + Client client = new Client(); + + public singleCam() + { + InitializeComponent(); + } + + public void closeSocket() + { + client.DisConnection(); + } + + private void updateUIID(int id) + { + if (InvokeRequired) { Invoke(new Action(updateUIID), id); return; } + else + { + label1.Text = id + 1 + "#检测数"; + label2.Text = id + 1 + "#OK数"; + label3.Text = id + 1 + "#NG数"; + label4.Text = id + 1 + "#剔除数"; + groupBox1.Text = id + 1 + "#分析结果"; + } + } + + public void setCamId(int id) + { + try + { + thisId = id; + updateUIID(id); + client.bindCamId(id); + //client.InitLicenseData(updateTime, updateJd, updateOK, updateNG, updateSpeed, updatekick, updateTotal); + client.InitLicenseData(_update); + client.InitLicenseImage(updateImage); + } + catch (Exception) + { + return; + } + } + private void _update(string data) + { + string info_frame = "1"; + string speed_frame = "2"; + string kick_frame = "3"; + string ok_frame = "4"; + string ng_frame = "5"; + string total_frame = "7"; + if (InvokeRequired) { Invoke(new Action(_update), data); return; } + else{ + string[] lis = data.Split('_'); + if (lis[0] == info_frame) + { + if(lis.Length == 3) + { + textBox6.Text = lis[1] + "个"; + textBox7.Text = lis[2] + "ms"; + } + } + else if(lis[0] == speed_frame) + { + textBox5.Text = lis[1] + "个/秒"; + } + else if(lis[0] == kick_frame) + { + textBox4.Text = lis[1]; + } + else if(lis[0] == ok_frame) + { + updateOK(lis[1]); + } + else if(lis[0] == ng_frame) + { + updateNG(lis[1]); + } + else if (lis[0] == total_frame) + { + textBox1.Text = lis[1]; + } + } + } + + Bitmap bmp0 = null; + private void updateImage(int Num,Bitmap data) + { + if (pictureBox1.InvokeRequired) { + if(Num==0) + pictureBox1.Invoke(new Action(updateImage), Num, data); + return; + } + else + { + if(Num==0) + { + if(bmp0 != null) + { + bmp0.Dispose(); + bmp0 = null; + } + bmp0 = new Bitmap(data); + pictureBox1.Image = bmp0; + } + } + } + + private void updateSpeed(string data) + { + if (textBox5.InvokeRequired) { textBox5.Invoke(new Action(updateSpeed), data); return; } + else + { + textBox5.Text = data + "个/秒"; + } + } + + private void updateTime(string data) + { + if (textBox7.InvokeRequired) { textBox7.Invoke(new Action(updateTime), data); return; } + else + { + textBox7.Text = data + "ms"; + } + } + + private void updateJd(string data) + { + if (textBox6.InvokeRequired) { textBox6.Invoke(new Action(updateJd), data); return; } + else + { + textBox6.Text = data + "个"; + } + } + + private void updateTotal(string data) + { + if (textBox1.InvokeRequired) { textBox1.Invoke(new Action(updateTotal), data); return; } + else + { + textBox1.Text = data; + } + } + + private void updateOK(string data) + { + if (textBox2.InvokeRequired) { textBox2.Invoke(new Action(updateOK), data); return; } + else + { + textBox2.Text = data; + updateLabel(true); + } + } + + private void updateNG(string data) + { + if (textBox3.InvokeRequired) { textBox3.Invoke(new Action(updateNG), data); return; } + else + { + textBox3.Text = data; + updateLabel(false); + + } + } + + private void updatekick(string data) + { + if (textBox4.InvokeRequired) { textBox4.Invoke(new Action(updatekick), data); return; } + else + { + textBox4.Text = data; + } + } + + private void updateLabel(bool ok) + { + if (label8.InvokeRequired) { label8.Invoke(new Action(updateLabel), ok); return; } + else + { + if (UserControl1.Stop) + { + label8.Visible = true; + if (ok) + { + label8.Text = "OK"; + label8.BackColor = Color.Lime; + } + else + { + label8.Text = "NG"; + label8.BackColor = Color.Red; + } + } + else + { + label8.Visible = false; + + } + + } + } + public Action callback = null; + private int thisId = -1; + + private void pictureBox1_DoubleClick(object sender, EventArgs e) + { + callback?.Invoke(thisId); + } + } +} diff --git a/WindowsFormsApp2/singleCam.resx b/WindowsFormsApp2/singleCam.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/singleCam.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/WindowsFormsApp2/singleCam2.Designer.cs b/WindowsFormsApp2/singleCam2.Designer.cs new file mode 100644 index 0000000..3e0ca52 --- /dev/null +++ b/WindowsFormsApp2/singleCam2.Designer.cs @@ -0,0 +1,377 @@ +namespace WindowsFormsApp2 +{ + partial class singleCam2 + { + /// + /// 必需的设计器变量。 + /// + 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.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox7 = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.panel1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 330); + this.panel1.Margin = new System.Windows.Forms.Padding(4); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(742, 90); + this.panel1.TabIndex = 0; + // + // groupBox1 + // + this.groupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.textBox7); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.textBox6); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.textBox5); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Font = new System.Drawing.Font("宋体", 16F); + this.groupBox1.ForeColor = System.Drawing.Color.White; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(4); + this.groupBox1.Size = new System.Drawing.Size(742, 90); + this.groupBox1.TabIndex = 9; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "1#分析结果"; + // + // label_tips + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.Lime; + this.label8.Dock = System.Windows.Forms.DockStyle.Right; + this.label8.Font = new System.Drawing.Font("宋体", 15F); + this.label8.Location = new System.Drawing.Point(665, 41); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label_tips"; + this.label8.Size = new System.Drawing.Size(73, 30); + this.label8.TabIndex = 15; + this.label8.Text = " OK "; + // + // textBox7 + // + this.textBox7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox7.Dock = System.Windows.Forms.DockStyle.Left; + this.textBox7.Font = new System.Drawing.Font("宋体", 11F); + this.textBox7.ForeColor = System.Drawing.Color.White; + this.textBox7.Location = new System.Drawing.Point(503, 41); + this.textBox7.Margin = new System.Windows.Forms.Padding(4); + this.textBox7.Name = "textBox7"; + this.textBox7.ReadOnly = true; + this.textBox7.Size = new System.Drawing.Size(75, 26); + this.textBox7.TabIndex = 14; + // + // label_expo4 + // + this.label7.AutoSize = true; + this.label7.Dock = System.Windows.Forms.DockStyle.Left; + this.label7.Font = new System.Drawing.Font("宋体", 11F); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(383, 41); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label_expo4"; + this.label7.Size = new System.Drawing.Size(120, 22); + this.label7.TabIndex = 13; + this.label7.Text = "识别时间:"; + // + // textBox_op_confirm_pwd + // + this.textBox6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox6.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox6.Dock = System.Windows.Forms.DockStyle.Left; + this.textBox6.Font = new System.Drawing.Font("宋体", 11F); + this.textBox6.ForeColor = System.Drawing.Color.White; + this.textBox6.Location = new System.Drawing.Point(308, 41); + this.textBox6.Margin = new System.Windows.Forms.Padding(4); + this.textBox6.Name = "textBox_op_confirm_pwd"; + this.textBox6.ReadOnly = true; + this.textBox6.Size = new System.Drawing.Size(75, 26); + this.textBox6.TabIndex = 12; + // + // label_expo3 + // + this.label6.AutoSize = true; + this.label6.Dock = System.Windows.Forms.DockStyle.Left; + this.label6.Font = new System.Drawing.Font("宋体", 11F); + this.label6.ForeColor = System.Drawing.Color.White; + this.label6.Location = new System.Drawing.Point(188, 41); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label_expo3"; + this.label6.Size = new System.Drawing.Size(120, 22); + this.label6.TabIndex = 11; + this.label6.Text = "胶点个数:"; + // + // textBox_op_new_pwd + // + this.textBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox5.Dock = System.Windows.Forms.DockStyle.Left; + this.textBox5.Font = new System.Drawing.Font("宋体", 11F); + this.textBox5.ForeColor = System.Drawing.Color.White; + this.textBox5.Location = new System.Drawing.Point(113, 41); + this.textBox5.Margin = new System.Windows.Forms.Padding(4); + this.textBox5.Name = "textBox_op_new_pwd"; + this.textBox5.ReadOnly = true; + this.textBox5.Size = new System.Drawing.Size(75, 26); + this.textBox5.TabIndex = 10; + // + // label_expo2 + // + this.label5.AutoSize = true; + this.label5.Dock = System.Windows.Forms.DockStyle.Left; + this.label5.Font = new System.Drawing.Font("宋体", 11F); + this.label5.ForeColor = System.Drawing.Color.White; + this.label5.Location = new System.Drawing.Point(4, 41); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label_expo2"; + this.label5.Size = new System.Drawing.Size(109, 22); + this.label5.TabIndex = 9; + this.label5.Text = "采集速度:"; + // + // panel2 + // + this.panel2.Controls.Add(this.pictureBox2); + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.panel3); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Margin = new System.Windows.Forms.Padding(4); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(742, 330); + this.panel2.TabIndex = 2; + // + // pictureBox1 + // + this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Left; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(267, 330); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 1; + this.pictureBox1.TabStop = false; + this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.panel3.Controls.Add(this.textBox4); + this.panel3.Controls.Add(this.textBox3); + this.panel3.Controls.Add(this.textBox2); + this.panel3.Controls.Add(this.textBox1); + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.label3); + this.panel3.Controls.Add(this.label2); + this.panel3.Controls.Add(this.label1); + this.panel3.Dock = System.Windows.Forms.DockStyle.Right; + this.panel3.Font = new System.Drawing.Font("宋体", 11F); + this.panel3.ForeColor = System.Drawing.Color.White; + this.panel3.Location = new System.Drawing.Point(532, 0); + this.panel3.Margin = new System.Windows.Forms.Padding(4); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(210, 330); + this.panel3.TabIndex = 0; + // + // textBox_op_old_pwd + // + this.textBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox4.ForeColor = System.Drawing.Color.White; + this.textBox4.Location = new System.Drawing.Point(111, 201); + this.textBox4.Margin = new System.Windows.Forms.Padding(4); + this.textBox4.Name = "textBox_op_old_pwd"; + this.textBox4.ReadOnly = true; + this.textBox4.Size = new System.Drawing.Size(92, 26); + this.textBox4.TabIndex = 7; + this.textBox4.Text = "0"; + // + // textBox_confirm_pwd + // + this.textBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox3.ForeColor = System.Drawing.Color.White; + this.textBox3.Location = new System.Drawing.Point(111, 144); + this.textBox3.Margin = new System.Windows.Forms.Padding(4); + this.textBox3.Name = "textBox_confirm_pwd"; + this.textBox3.ReadOnly = true; + this.textBox3.Size = new System.Drawing.Size(92, 26); + this.textBox3.TabIndex = 6; + this.textBox3.Text = "0"; + // + // textBox_new_pwd + // + this.textBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox2.ForeColor = System.Drawing.Color.White; + this.textBox2.Location = new System.Drawing.Point(111, 87); + this.textBox2.Margin = new System.Windows.Forms.Padding(4); + this.textBox2.Name = "textBox_new_pwd"; + this.textBox2.ReadOnly = true; + this.textBox2.Size = new System.Drawing.Size(92, 26); + this.textBox2.TabIndex = 5; + this.textBox2.Text = "0"; + // + // textBox_old_pwd + // + this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox1.ForeColor = System.Drawing.Color.White; + this.textBox1.Location = new System.Drawing.Point(111, 30); + this.textBox1.Margin = new System.Windows.Forms.Padding(4); + this.textBox1.Name = "textBox_old_pwd"; + this.textBox1.ReadOnly = true; + this.textBox1.Size = new System.Drawing.Size(92, 26); + this.textBox1.TabIndex = 4; + this.textBox1.Text = "0"; + // + // label_expo1 + // + this.label4.AutoSize = true; + this.label4.ForeColor = System.Drawing.Color.White; + this.label4.Location = new System.Drawing.Point(9, 202); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label_expo1"; + this.label4.Size = new System.Drawing.Size(98, 22); + this.label4.TabIndex = 3; + this.label4.Text = "1#剔除数"; + // + // label_pic3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Location = new System.Drawing.Point(9, 146); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label_pic3"; + this.label3.Size = new System.Drawing.Size(76, 22); + this.label3.TabIndex = 2; + this.label3.Text = "1#NG数"; + // + // label_pic2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(9, 88); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label_pic2"; + this.label2.Size = new System.Drawing.Size(76, 22); + this.label2.TabIndex = 1; + this.label2.Text = "1#OK数"; + // + // label_pic1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(9, 32); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label_pic1"; + this.label1.Size = new System.Drawing.Size(98, 22); + this.label1.TabIndex = 0; + this.label1.Text = "1#检测数"; + // + // pictureBox2 + // + this.pictureBox2.Dock = System.Windows.Forms.DockStyle.Right; + this.pictureBox2.Location = new System.Drawing.Point(265, 0); + this.pictureBox2.Margin = new System.Windows.Forms.Padding(4); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(267, 330); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox2.TabIndex = 2; + this.pictureBox2.TabStop = false; + // + // singleCam2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "singleCam2"; + this.Size = new System.Drawing.Size(742, 420); + this.panel1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox textBox7; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox textBox6; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.TextBox textBox4; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox textBox5; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.PictureBox pictureBox2; + } +} diff --git a/WindowsFormsApp2/singleCam2.cs b/WindowsFormsApp2/singleCam2.cs new file mode 100644 index 0000000..cdc6e26 --- /dev/null +++ b/WindowsFormsApp2/singleCam2.cs @@ -0,0 +1,232 @@ +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 WindowsFormsApp2 +{ + public partial class singleCam2 : UserControl + { + static singleCam2() + { + + } + + Client client = new Client(); + + public singleCam2() + { + InitializeComponent(); + } + + public void closeSocket() + { + client.DisConnection(); + } + + private void updateUIID(int id) + { + if (InvokeRequired) { Invoke(new Action(updateUIID), id); return; } + else + { + label1.Text = id + 1 + "#检测数"; + label2.Text = id + 1 + "#OK数"; + label3.Text = id + 1 + "#NG数"; + label4.Text = id + 1 + "#剔除数"; + groupBox1.Text = id + 1 + "#分析结果"; + } + } + + public void setCamId(int id) + { + try + { + updateUIID(id); + client.bindCamId(id); + //client.InitLicenseData(updateTime, updateJd, updateOK, updateNG, updateSpeed, updatekick, updateTotal); + client.InitLicenseData(_update); + client.InitLicenseImage(updateImage); + } + catch (Exception) + { + return; + } + } + + /* + + + */ + private void _update(string data) + { + string info_frame = "1"; + string speed_frame = "2"; + string kick_frame = "3"; + string ok_frame = "4"; + string ng_frame = "5"; + string total_frame = "7"; + if (InvokeRequired) { Invoke(new Action(_update), data); return; } + else + { + string[] lis = data.Split('_'); + if (lis[0] == info_frame) + { + if (lis.Length == 3) + { + textBox6.Text = lis[1] + "个"; + textBox7.Text = lis[2] + "ms"; + } + } + else if (lis[0] == speed_frame) + { + textBox5.Text = lis[1] + "个/秒"; + } + else if (lis[0] == kick_frame) + { + textBox4.Text = lis[1]; + } + else if (lis[0] == ok_frame) + { + updateOK(lis[1]); + } + else if (lis[0] == ng_frame) + { + updateNG(lis[1]); + } + else if (lis[0] == total_frame) + { + textBox1.Text = lis[1]; + } + } + } + Bitmap bmp0 = null; + Bitmap bmp1 = null; + private void updateImage(int Num,Bitmap data) + { + if (pictureBox1.InvokeRequired) { + if (Num==0) + pictureBox1.Invoke(new Action(updateImage), Num, data); + else if(Num==1) + pictureBox2.Invoke(new Action(updateImage), Num, data); + return; + } + else + { + if (Num == 0) + { + if(bmp0 != null) + { + bmp0.Dispose(); + bmp0 = null; + } + bmp0 = new Bitmap(data); + pictureBox1.Image = bmp0; + } + else if (Num == 1) + { + if(bmp1 != null) + { + bmp1.Dispose(); + bmp1 = null; + } + bmp1 = new Bitmap(data); + pictureBox2.Image = bmp1; + } + } + } + + private void updateSpeed(string data) + { + if (textBox5.InvokeRequired) { textBox5.Invoke(new Action(updateSpeed), data); return; } + else + { + textBox5.Text = data + "个/秒"; + } + } + + private void updateTime(string data) + { + if (textBox7.InvokeRequired) { textBox7.Invoke(new Action(updateTime), data); return; } + else + { + textBox7.Text = data + "ms"; + } + } + + private void updateJd(string data) + { + if (textBox6.InvokeRequired) { textBox6.Invoke(new Action(updateJd), data); return; } + else + { + textBox6.Text = data + "个"; + } + } + + private void updateTotal(string data) + { + if (textBox1.InvokeRequired) { textBox1.Invoke(new Action(updateTotal), data); return; } + else + { + textBox1.Text = data; + } + } + + private void updateOK(string data) + { + if (textBox2.InvokeRequired) { textBox2.Invoke(new Action(updateOK), data); return; } + else + { + textBox2.Text = data; + updateLabel(true); + } + } + + private void updateNG(string data) + { + if (textBox3.InvokeRequired) { textBox3.Invoke(new Action(updateNG), data); return; } + else + { + textBox3.Text = data; + updateLabel(false); + + } + } + + private void updatekick(string data) + { + if (textBox4.InvokeRequired) { textBox4.Invoke(new Action(updatekick), data); return; } + else + { + textBox4.Text = data; + } + } + + private void updateLabel(bool ok) + { + if (label8.InvokeRequired) { label8.Invoke(new Action(updateLabel), ok); return; } + else + { + if (ok) + { + label8.Text = "OK"; + label8.BackColor = Color.Lime; + } + else + { + label8.Text = "NG"; + label8.BackColor = Color.Red; + } + } + } + + private void pictureBox1_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/WindowsFormsApp2/singleCam2.resx b/WindowsFormsApp2/singleCam2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WindowsFormsApp2/singleCam2.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/untitled5/main.cpp b/untitled5/main.cpp new file mode 100644 index 0000000..fd3e533 --- /dev/null +++ b/untitled5/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/untitled5/mainwindow.cpp b/untitled5/mainwindow.cpp new file mode 100644 index 0000000..39f91e9 --- /dev/null +++ b/untitled5/mainwindow.cpp @@ -0,0 +1,39 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include +#include "workthread.h" + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} +WorkThread wo[4]; + + +void MainWindow::on_pushButton_clicked() +{ +// mSocket.writeDatagram(QString("Time,%1").arg(QString::number(5)).toUtf8(), QHostAddress("192.168.10.168"), 8081); + + for(int i=0;i<10000;++i) + { + for (int port = 1; port < 5; port++) + { + _sleep(10); + mSocket.writeDatagram(QString("Time,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + mSocket.writeDatagram(QString("Speed,10%1").arg(QString::number(i)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + if (port % 5 == 0) + mSocket.writeDatagram(QString("Ok,0%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + else + mSocket.writeDatagram(QString("Ng,0%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + mSocket.writeDatagram(QString("Total,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + mSocket.writeDatagram(QString("Kick,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + mSocket.writeDatagram(QString("Jd,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.168"), 8080 + port); + } +}} diff --git a/untitled5/mainwindow.h b/untitled5/mainwindow.h new file mode 100644 index 0000000..03beee2 --- /dev/null +++ b/untitled5/mainwindow.h @@ -0,0 +1,24 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); +private slots: + void on_pushButton_clicked(); + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/untitled5/mainwindow.ui b/untitled5/mainwindow.ui new file mode 100644 index 0000000..f842aba --- /dev/null +++ b/untitled5/mainwindow.ui @@ -0,0 +1,61 @@ + + + MainWindow + + + + 0 + 0 + 639 + 215 + + + + MainWindow + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + 3 + + + false + + + + 1234567890 + + + + + PushButton + + + + + + + + + + diff --git a/untitled5/untitled5.pro b/untitled5/untitled5.pro new file mode 100644 index 0000000..8f4c907 --- /dev/null +++ b/untitled5/untitled5.pro @@ -0,0 +1,43 @@ +QT += core gui network + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + mainwindow.cpp \ + workthread.cpp + +HEADERS += \ + mainwindow.h \ + workthread.h + +FORMS += \ + mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + + + + + +#unix|win32: LIBS += -L$$PWD/../OpenCV/OpenCV4.3GPU/x64/vc14/lib/ -lopencv_world430 + +#INCLUDEPATH += $$PWD/../OpenCV/OpenCV4.3GPU/include + +#INCLUDEPATH += $$PWD/../OpenCV/OpenCV4.3GPU/include/opencv2 diff --git a/untitled5/workthread.cpp b/untitled5/workthread.cpp new file mode 100644 index 0000000..88298fa --- /dev/null +++ b/untitled5/workthread.cpp @@ -0,0 +1 @@ +#include "workthread.h" diff --git a/untitled5/workthread.h b/untitled5/workthread.h new file mode 100644 index 0000000..22b4fe6 --- /dev/null +++ b/untitled5/workthread.h @@ -0,0 +1,76 @@ +#ifndef WORKTHREAD_H +#define WORKTHREAD_H + +#include +#include +#include +#include +#include +#include +#include + +static QUdpSocket mSocket; + +//#include +//#include +//void SendMat(cv::Mat mat, quint16 port); + + +class WorkThread : public QThread +{ + Q_OBJECT +signals: + +public: + WorkThread(QObject *parent = 0) : QThread(parent) + { + + } + + void setID(int d) + { + port = d; + } + +protected: + void run() override + { + for (int i = 5; i < 6000; ++i) + { + //_sleep(1500); +// cv::Mat mat = cv::imread("d:/1.bmp", 1); +// { +// int length = mat.rows*mat.cols * 3; +// char*data = (char*)malloc(sizeof(char)*length); +// memcpy(data, mat.data, length); +// { +// mSocket.writeDatagram(QString("Start,%1,%2").arg(QString::number(mat.cols)).arg(QString::number(mat.rows)).toUtf8(), QHostAddress("192.168.10.130"), 8880 + port); +// int currentIndex = 0; +// while (currentIndex * 10240 < length) +// { +// int len = length - currentIndex * 10240; +// len = len < 10240 ? len : 10240; +// mSocket.writeDatagram(data + currentIndex * 10240, len, QHostAddress("192.168.10.130"), 8880 + port); +// _sleep(1); +// currentIndex++; +// } +// mSocket.writeDatagram(QString("End").toUtf8(), QHostAddress("192.168.10.130"), 8880 + port); +// } +// } + + mSocket.writeDatagram(QString("Time,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + mSocket.writeDatagram(QString("Speed,10%1").arg(QString::number(i)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + if (i % 5 == 0) + mSocket.writeDatagram(QString("Ok,0%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + else + mSocket.writeDatagram(QString("Ng,0%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + mSocket.writeDatagram(QString("Total,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + mSocket.writeDatagram(QString("Kick,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + mSocket.writeDatagram(QString("Jd,%1").arg(QString::number(i % 35)).toUtf8(), QHostAddress("192.168.10.130"), 8080 + port); + } + } +public: + int port; +}; + +#endif // WORKTHREAD_H