You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

538 lines
26 KiB

using SunlightCentralizedControlManagement_SCCM_.WindowsView;
using ScottPlot.Palettes;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Forms;
using System.Net.NetworkInformation;
namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
{
/// <summary>
/// ViewStep.xaml 的交互逻辑
/// </summary>
public partial class ViewStep : Window
{
public string data { get; set; }
//声明一个更新Address的委托
public delegate void AddressUpdateHandler(object sender, AddressUpdateEventArgs e);
//声明一个更新Address的事件
public event AddressUpdateHandler AddressUpdated;
public ViewStep(string Numder ,string P1D,string P2D,string P3D,string P4D,string P5D)
{
InitializeComponent();
this.DataContext = this;
Form1_Load();
// FocusManager.SetFocusedElement(boxNAME, boxNAME);
boxNAME.Focus();
boxNAME.Text = Numder;
P1.Text = P1D;
P2.Text = P2D;
P3.Text = P3D;
P4.Text = P4D;
P5.Text = P5D;
/* P1.Visibility = Visibility.Collapsed;
P1N.Visibility = Visibility.Collapsed;
P2.Visibility = Visibility.Collapsed;
P2N.Visibility = Visibility.Collapsed;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;*/
}
private void Tb_KeyPress(object sender, TextCompositionEventArgs e)//输入事件
{
Regex re = new Regex(@"^[0-9.]+(.[0-9]{1,3})?$");// 非零的正整数
e.Handled = !re.IsMatch(e.Text);
}
private void Tb_KeyP1(object sender, TextCompositionEventArgs e)//输入事件P1
{
Regex numbeRegex = new Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");
e.Handled =
!numbeRegex.IsMatch(
P1.Text.Insert(
P1.SelectionStart, e.Text));
P1.Text = P1.Text.Trim();
}
private void Tb_KeyP2(object sender, TextCompositionEventArgs e)//输入事件P2
{
Regex numbeRegex = new Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");
e.Handled =
!numbeRegex.IsMatch(
P2.Text.Insert(
P2.SelectionStart, e.Text));
P2.Text = P2.Text.Trim();
}
private void Tb_KeyP3(object sender, TextCompositionEventArgs e)//输入事件P3
{
Regex numbeRegex = new Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");
e.Handled =
!numbeRegex.IsMatch(
P3.Text.Insert(
P3.SelectionStart, e.Text));
P3.Text = P3.Text.Trim();
}
private void Tb_KeyP4(object sender, TextCompositionEventArgs e)//输入事件P4
{
Regex numbeRegex = new Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");
e.Handled =
!numbeRegex.IsMatch(
P4.Text.Insert(
P4.SelectionStart, e.Text));
P4.Text = P4.Text.Trim();
}
private void Tb_KeyP5(object sender, TextCompositionEventArgs e)//输入事件P5
{
Regex numbeRegex = new Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");
e.Handled =
!numbeRegex.IsMatch(
P5.Text.Insert(
P5.SelectionStart, e.Text));
P5.Text = P5.Text.Trim();
}
private readonly string[] a = {"001","007","008","013","015" ,"017", "020", "022", "031", "035", "036", "039", "040", "041", "049", "050",
"051", "054", "055", "056","064","065","066","067","090","091","093","094" };
private void Form1_Load()
{
this.boxID.Items.Add(Properties.Resources.TemperatureControl);//温度控制001
this.boxID.Items.Add(Properties.Resources.AddWater + "(" + Properties.Resources.WaterLevel + ")");//水位进水007
this.boxID.Items.Add(Properties.Resources.AddWater + "(" + Properties.Resources.Flowmeter + ")");//流量进水008
this.boxID.Items.Add(Properties.Resources.Washing + "(" + Properties.Resources.WaterLevel + ")");//水位水洗013
this.boxID.Items.Add(Properties.Resources.Washing + "(" + Properties.Resources.Overflow + ")");//溢流水洗015
this.boxID.Items.Add(Properties.Resources.Washing + "(" + Properties.Resources.Cooling + ")");//降温水洗017
this.boxID.Items.Add(Properties.Resources.Drainage);//排水020
this.boxID.Items.Add(Properties.Resources.PumpDrainage);//主泵排水022
this.boxID.Items.Add(Properties.Resources.RunningTime);//运转031
this.boxID.Items.Add(Properties.Resources.ClothIntake);//入布035
this.boxID.Items.Add(Properties.Resources.OutTheCloth);//出布036
this.boxID.Items.Add(Properties.Resources.CallWorkers);//呼叫操作员039
this.boxID.Items.Add(Properties.Resources.Sampling);//取样040
this.boxID.Items.Add(Properties.Resources.End);//程序结束041
this.boxID.Items.Add(Properties.Resources.Await);//等待049
this.boxID.Items.Add(Properties.Resources.Pressurized);//加压050
this.boxID.Items.Add(Properties.Resources.Depressurized);//减压051
this.boxID.Items.Add(Properties.Resources.Pump + "/"+Properties.Resources.Blower);//泵风机速度054
this.boxID.Items.Add(Properties.Resources.PumpStart);//泵启动055
this.boxID.Items.Add(Properties.Resources.PumpStops);//泵停止056
this.boxID.Items.Add(Properties.Resources.PrepareMedications);//备药064
this.boxID.Items.Add(Properties.Resources.AddTheMedicine);//加药065
this.boxID.Items.Add(Properties.Resources.CallDistribution);//呼叫输送066
this.boxID.Items.Add(Properties.Resources.CallPreparation);//呼叫准备067
this.boxID.Items.Add(Properties.Resources.RapidAcidAddition);//快速加酸090
this.boxID.Items.Add(Properties.Resources.PHTemperatureControl);//ph温度控制091
this.boxID.Items.Add(Properties.Resources.PHDetection);//ph检测093
this.boxID.Items.Add(Properties.Resources.PHControl);//ph控制094
// boxNAME.Text = datid;
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)//输入事件
{
int l = boxNAME.Text.Length;
string text = boxNAME.Text.ToString();
if (l == 3)
{
int g = Array.IndexOf(a, text);//数组索引
if (g != -1)
{
boxID.SelectedIndex = g;//有效索引传入
Set(g);
} else
{
boxID.SelectedIndex =-1;
Set(-1);
}
}
}
private void BoxID_SelectionChanged(object sender, SelectionChangedEventArgs e)//下拉框选择事件
{
if (boxID.SelectedIndex !=-1)
{
int i = boxID.SelectedIndex;
boxNAME.Text = a.ElementAt(i);
Set(i);
}
}
private void YES_Click(object sender, RoutedEventArgs e)//确认
{
if (boxNAME.Text == null) return;
string name = " ";
if (P1N.Visibility == Visibility.Visible) name = P1N.Text +":["+P1.Text+"]";
if (P2N.Visibility == Visibility.Visible) name += P2N.Text + ":[" + P2.Text + "]";
if (P3N.Visibility == Visibility.Visible) name += P3N.Text + ":[" + P3.Text + "]";
if (P4N.Visibility == Visibility.Visible) name += P4N.Text + ":[" + P4.Text + "]";
if (P5N.Visibility == Visibility.Visible) name += P5N.Text + ":[" + P5.Text + "]";
var args = new AddressUpdateEventArgs(data, boxNAME.Text, boxID.Text, name.ToString(), P1.Text, P2.Text, P3.Text, P4.Text, P5.Text);
AddressUpdated(this, args);
this.Close(); //关闭窗口
}
private void NO_Click(object sender, RoutedEventArgs e)//关闭
{
this.Close(); //关闭窗口
}
private void Set(int a) //参数显示
{
switch (a)
{
case 0:
P1N.Text = Properties.Resources.Target+Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Rate+ "(°C/min)";
P3N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 1:
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 2:
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.Flowmeter;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 3:
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
P4N.Text = Properties.Resources.Number;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Visible;
P4N.Visibility = Visibility.Visible;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 4:
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
P4N.Text = Properties.Resources.Flowmeter;
P5N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Visible;
P4N.Visibility = Visibility.Visible;
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 5:
P1N.Text = Properties.Resources.Headwaters;
P2N.Text = Properties.Resources.WaterLevel;
P3N.Text = Properties.Resources.Time;
P4N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P5N.Text = Properties.Resources.Rate;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Visible;
P4N.Visibility = Visibility.Visible;
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 6:
P1N.Text = Properties.Resources.Drainage;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 7:
P1N.Text = Properties.Resources.Drainage;
P2N.Text = Properties.Resources.WaterLevel;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 8:
P1N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Collapsed;
P2N.Visibility = Visibility.Collapsed;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 15:
P1N.Text = Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Pressure;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 16:
P1N.Text = Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Pressure;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 17:
P1N.Text = Properties.Resources.PumpSpeed;
P2N.Text = Properties.Resources.Blower;
P3N.Text = Properties.Resources.Nozzle;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 20:
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Headwaters;
P3N.Text = Properties.Resources.WaterLevel;
P4N.Text = Properties.Resources.Temperature;
P5N.Text = Properties.Resources.Mixing;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Visible;
P4N.Visibility = Visibility.Visible;
P5.Visibility = Visibility.Visible;
P5N.Visibility = Visibility.Visible;
break;
case 21:
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Curve;
P3N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 22:
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Type;
P3N.Text = Properties.Resources.Step;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 23:
P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank;
P2N.Text = Properties.Resources.Type;
P3N.Text = Properties.Resources.Function;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 24:
P1N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P2N.Text = "PH";
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 25:
P1N.Text = Properties.Resources.Target + Properties.Resources.Temperature;
P2N.Text = Properties.Resources.Rate;
P3N.Text = "PH";
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Visible;
P3N.Visibility = Visibility.Visible;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 26:
P1N.Text = Properties.Resources.Time;
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Collapsed;
P2N.Visibility = Visibility.Collapsed;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
case 27:
P1N.Text = Properties.Resources.Time;
P2N.Text = "PH";
P1.Visibility = Visibility.Visible;
P1N.Visibility = Visibility.Visible;
P2.Visibility = Visibility.Visible;
P2N.Visibility = Visibility.Visible;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
default:
P1.Visibility = Visibility.Collapsed;
P1N.Visibility = Visibility.Collapsed;
P2.Visibility = Visibility.Collapsed;
P2N.Visibility = Visibility.Collapsed;
P3.Visibility = Visibility.Collapsed;
P3N.Visibility = Visibility.Collapsed;
P4.Visibility = Visibility.Collapsed;
P4N.Visibility = Visibility.Collapsed;
P5.Visibility = Visibility.Collapsed;
P5N.Visibility = Visibility.Collapsed;
break;
}
}
public class AddressUpdateEventArgs : System.EventArgs
{
public AddressUpdateEventArgs(string dStep, string dStepID, string dStepNAME, string dPNAME, string dP1, string dP2, string dP3, string dP4, string dP5)
{
this.StepID = dStepID;
this.Step = dStep;
this.StepNAME = dStepNAME;
this.PNAME = dPNAME;
this.P1 = dP1;
this.P2 = dP2;
this.P3 = dP3;
this.P4 = dP4;
this.P5 = dP5;
}
public string Step { get; set; }
public string StepID { get; set; }
public string StepNAME { get; set; }
public string PNAME { get; set; }
public string P1 { get; set; }
public string P2 { get; set; }
public string P3 { get; set; }
public string P4 { get; set; }
public string P5 { get; set; }
}
}
}