using DyeingComputer.View; 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 DyeingComputer.Windows { /// /// ViewStep.xaml 的交互逻辑 /// 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() { InitializeComponent(); Form1_Load(); FocusManager.SetFocusedElement(boxNAME, boxNAME); 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.-]+"); Regex re = new Regex(@"^[0-9]+(.[0-9]{1,3})?$");// 非零的正整数 e.Handled = !re.IsMatch(e.Text); } private readonly string[] a = {"001","007","008","013","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.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.PumpSpeed);//泵速度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 } 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; 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.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 5: 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 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.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 14: 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 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.PumpSpeed; 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 19: 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 20: 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 21: P1N.Text = Properties.Resources.Medicine + Properties.Resources.Tank; P2N.Text = Properties.Resources.Type; P3N.Text = Properties.Resources.Step; P4N.Text = Properties.Resources.Advance+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.Visible; P4N.Visibility = Visibility.Visible; 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.Flowmeter; 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.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 24: 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 25: 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 26: P1N.Text = Properties.Resources.Beginning+ 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; 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; } } } }