chu270213 2 years ago
parent 0b0c1830c4
commit a20bee9665

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

@ -0,0 +1,212 @@
namespace Diaoyong
{
partial class ConnectionTest
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.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;
}
}

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

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

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5B1A5431-03F2-4D26-802B-C68D64FC6064}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Diaoyong</RootNamespace>
<AssemblyName>Diaoyong</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Publish\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\Publish\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="WindowsFormsApp2, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Publish\WindowsFormsApp2.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ConnectionTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ConnectionTest.Designer.cs">
<DependentUpon>ConnectionTest.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="ConnectionTest.resx">
<DependentUpon>ConnectionTest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,73 @@
namespace Diaoyong
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
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;
}
}

@ -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)
{
}
}
}

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

@ -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);
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[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);
}
}
}
}

@ -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")]

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Diaoyong.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 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() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[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;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

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

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
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;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")]

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -0,0 +1 @@
04bf2dc5143223b57ebea0cf2883e39dde73273d

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

Binary file not shown.

Binary file not shown.

@ -0,0 +1,2 @@
MonitorIP=192.168.10.119
MonitorPort=3000

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

@ -0,0 +1,60 @@
namespace WindowsFormsApp2
{
partial class Alarm_Record
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

@ -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界面一次性绘制。
}
}
}

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

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

@ -0,0 +1,546 @@
namespace WindowsFormsApp2
{
partial class Camera_glue
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

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

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

@ -0,0 +1,308 @@
namespace WindowsFormsApp2
{
partial class Change_shift
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

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

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

@ -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<int> list_pid = GetPidByPort(p, port);
if (list_pid.Count == 0)
{
return;
}
List<string> 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<int> 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<int> 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<int> list_pid = new List<int>();
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<string> GetProcessNameByPid(Process p, List<int> list_pid)
{
p.Start();
List<string> list_process = new List<string>();
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<string> t;
private Action<int,Bitmap> imageCall;
private Action<string> j;
private Action<string> o;
private Action<string> n;
private Action<string> speed;
private Action<string> kick;
private Action<string> total;
public void InitLicenseData(Action<string> t, Action<string> j, Action<string> o, Action<string> n, Action<string> speed
, Action<string> kick, Action<string> 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<string> t)
{
try
{
this.t = t;
}
catch (Exception ex)
{
System.Diagnostics.Debug.Write("端口号占用" + ex.ToString());
return;
}
}
public void InitLicenseImage(Action<int,Bitmap> 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); //防止系统资源耗尽
}
}
}
}

@ -0,0 +1,240 @@
namespace WindowsFormsApp2
{
partial class DialogLogin
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.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;
}
}

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

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

File diff suppressed because it is too large Load Diff

@ -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)
{
}
}
}

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

@ -0,0 +1,66 @@
namespace WindowsFormsApp2
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
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;
}
}

@ -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)
{
}
}
}

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

@ -0,0 +1,77 @@
namespace WindowsFormsApp2
{
partial class FullScreen
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

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

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

@ -0,0 +1,299 @@
namespace WindowsFormsApp2
{
partial class Output_statistic
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

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

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

@ -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
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

@ -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")]

@ -0,0 +1,113 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace WindowsFormsApp2.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 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() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[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;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _lock {
get {
object obj = ResourceManager.GetObject("lock", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap pause {
get {
object obj = ResourceManager.GetObject("pause", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap rotate {
get {
object obj = ResourceManager.GetObject("rotate", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap start {
get {
object obj = ResourceManager.GetObject("start", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap unlock {
get {
object obj = ResourceManager.GetObject("unlock", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

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

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
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;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

@ -0,0 +1,422 @@
namespace WindowsFormsApp2
{
partial class UserControl1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.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;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save