public void Send(byte channel, vp_type type, long data) { String hexdata = ""; try { switch (type) { case vp_type.vp_byte: hexdata = Convert.ToByte(data).ToString("X2"); break; case vp_type.vp_int: hexdata = Convert.ToInt16(data).ToString("X4"); break; case vp_type.vp_uint: hexdata = Convert.ToUInt16(data).ToString("X4"); break; case vp_type.vp_long: hexdata = Convert.ToInt32(data).ToString("X8"); break; case vp_type.vp_ulong: hexdata = Convert.ToUInt32(data).ToString("X8"); break; default: throw new InvalidOperationException("Non numeric vp_type with numeric data."); } } catch (OverflowException oe) { throw new OverflowException("Numeric data not compatible with: " + type.ToString(), oe); } SendMessage(channel, type, hexdata); }
// Wrapper for converted Send functions helps with even and prevents duplicate code. private void SendMessage(byte channel, vp_type type, string data) { String message = channel.ToString("X2") + ((byte)type).ToString("X1") + data; this.Write(message); MessageSent?.ThreadAwareRaise(this, new MessageEventArgs <object>(channel, type, data)); }
// Attached to port receive event (PORT thread) private void Port_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (!connected || !port.IsOpen) { return; } string temp = port.ReadExisting(); read_buffer += temp; string[] chunks = read_buffer.Split(new string[] { port.NewLine }, StringSplitOptions.None); read_buffer = ""; if (chunks.Last() != "") { read_buffer = chunks.Last(); chunks[chunks.Length - 1] = ""; } foreach (var data in chunks) { Debug.WriteLine(data); if (data.Length < 3) { continue; } int channel; if (!int.TryParse(data.Substring(0, 2), NumberStyles.HexNumber, null, out channel)) { continue; } int type_temp; if (!int.TryParse(data.Substring(2, 1), NumberStyles.HexNumber, null, out type_temp)) { continue; } vp_type type = (vp_type)type_temp; string value_string = data.Substring(3, data.Length - 3); object messagedata = null; try { switch (type) { case vp_type.vp_void: messagedata = ""; break; case vp_type.vp_string: messagedata = value_string; break; case vp_type.vp_boolean: messagedata = Convert.ToBoolean(Convert.ToInt32(value_string, 16)); break; case vp_type.vp_byte: messagedata = Convert.ToInt32(Convert.ToByte(Convert.ToInt16(value_string, 16))); break; case vp_type.vp_int: messagedata = Convert.ToInt32(Convert.ToInt16(value_string, 16)); break; case vp_type.vp_uint: messagedata = Convert.ToInt32(Convert.ToUInt16(value_string, 16)); break; case vp_type.vp_long: messagedata = Convert.ToInt64(Convert.ToInt32(value_string, 16)); break; case vp_type.vp_ulong: messagedata = Convert.ToInt64(Convert.ToUInt32(value_string, 16)); break; case vp_type.vp_float: messagedata = float.Parse(value_string, CultureInfo.InvariantCulture); break; } MessageReceived?.ThreadAwareRaise(this, new MessageEventArgs <object>(channel, type, messagedata)); } catch (FormatException fe) { Debug.WriteLine(fe); continue; } catch (ArgumentOutOfRangeException ae) { Debug.WriteLine(ae); continue; } } }
private void Arduinoport_MessageReceived(object sender, MessageEventArgs <object> mse) { if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_1) { label1.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_2) { label2.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_3) { label3.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_4) { label4.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_5) { label5.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorField_6) { label6.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorLogPanel) { WriteMonitor(mse.Data.ToString()); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_1 && mse.Type == vp_type.vp_boolean) { MonInput_1 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_2 && mse.Type == vp_type.vp_boolean) { MonInput_2 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_3 && mse.Type == vp_type.vp_boolean) { MonInput_3 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_4 && mse.Type == vp_type.vp_boolean) { MonInput_4 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_5 && mse.Type == vp_type.vp_boolean) { MonInput_5 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_6 && mse.Type == vp_type.vp_boolean) { MonInput_6 = (bool)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_1 && mse.Type == vp_type.vp_string) { MonitorInputLabel_1.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_2 && mse.Type == vp_type.vp_string) { MonitorInputLabel_2.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_3 && mse.Type == vp_type.vp_string) { MonitorInputLabel_3.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_4 && mse.Type == vp_type.vp_string) { MonitorInputLabel_4.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_5 && mse.Type == vp_type.vp_string) { MonitorInputLabel_5.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInputLabel_6 && mse.Type == vp_type.vp_string) { MonitorInputLabel_6.Text = mse.Data.ToString(); } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_1 && mse.Type == vp_type.vp_int) { MinMonInput_1 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_2 && mse.Type == vp_type.vp_int) { MinMonInput_2 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_3 && mse.Type == vp_type.vp_int) { MinMonInput_3 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_4 && mse.Type == vp_type.vp_int) { MinMonInput_4 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_5 && mse.Type == vp_type.vp_int) { MinMonInput_5 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_6 && mse.Type == vp_type.vp_int) { MinMonInput_6 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_1 && mse.Type == vp_type.vp_int) { MaxMonInput_1 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_2 && mse.Type == vp_type.vp_int) { MaxMonInput_2 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_3 && mse.Type == vp_type.vp_int) { MaxMonInput_3 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_4 && mse.Type == vp_type.vp_int) { MaxMonInput_4 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_5 && mse.Type == vp_type.vp_int) { MaxMonInput_5 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_6 && mse.Type == vp_type.vp_int) { MaxMonInput_6 = (int)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_1 && mse.Type == vp_type.vp_float) { MinMonInputF_1 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_2 && mse.Type == vp_type.vp_float) { MinMonInputF_2 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_3 && mse.Type == vp_type.vp_float) { MinMonInputF_3 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_4 && mse.Type == vp_type.vp_float) { MinMonInputF_4 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_5 && mse.Type == vp_type.vp_float) { MinMonInputF_5 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MinMonitorInput_6 && mse.Type == vp_type.vp_float) { MinMonInputF_6 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_1 && mse.Type == vp_type.vp_float) { MaxMonInputF_1 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_2 && mse.Type == vp_type.vp_float) { MaxMonInputF_2 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_3 && mse.Type == vp_type.vp_float) { MaxMonInputF_3 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_4 && mse.Type == vp_type.vp_float) { MaxMonInputF_4 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_5 && mse.Type == vp_type.vp_float) { MaxMonInputF_5 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MaxMonitorInput_6 && mse.Type == vp_type.vp_float) { MaxMonInputF_6 = (float)mse.Data; } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_1) { MonitorInputType_1 = mse.Type; if (MonitorInputType_1 != vp_type.vp_void && MonitorInputType_1 != vp_type.vp_boolean) { MonitorInputPanel_1.Visible = true; MonitorInputTextBox_1.Text = mse.Data.ToString(); } } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_2) { MonitorInputType_2 = mse.Type; if (MonitorInputType_2 != vp_type.vp_void && MonitorInputType_2 != vp_type.vp_boolean) { MonitorInputPanel_2.Visible = true; MonitorInputTextBox_2.Text = mse.Data.ToString(); } } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_3) { MonitorInputType_3 = mse.Type; if (MonitorInputType_3 != vp_type.vp_void && MonitorInputType_3 != vp_type.vp_boolean) { MonitorInputTextBox_3.Text = mse.Data.ToString(); MonitorInputPanel_3.Visible = true; } } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_4) { MonitorInputType_4 = mse.Type; if (MonitorInputType_4 != vp_type.vp_void && MonitorInputType_4 != vp_type.vp_boolean) { MonitorInputPanel_4.Visible = true; MonitorInputTextBox_4.Text = mse.Data.ToString(); } } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_5) { MonitorInputType_5 = mse.Type; if (MonitorInputType_5 != vp_type.vp_void && MonitorInputType_5 != vp_type.vp_boolean) { MonitorInputPanel_5.Visible = true; MonitorInputTextBox_5.Text = mse.Data.ToString(); } } if ((ChannelId)mse.ChannelID == ChannelId.MonitorInput_6) { MonitorInputType_6 = mse.Type; if (MonitorInputType_6 != vp_type.vp_void && MonitorInputType_6 != vp_type.vp_boolean) { MonitorInputPanel_6.Visible = true; MonitorInputTextBox_6.Text = mse.Data.ToString(); } } }
private void MonitorInputTextBox_TextChange(object sender, EventArgs e) { long MinInput = 0; long MaxInput = 0; float MinInputF = 0; float MaxInputF = 0; byte InputValueByte = 0; short InputValueShort = 0; ushort InputValueUShort = 0; int InputValueLong = 0; uint InputValueULong = 0; float InputValueFloat = 0; bool ValueValid = false; TextBox TextBox = (TextBox)sender; vp_type MonitorInputType = vp_type.vp_int; if (sender == MonitorInputTextBox_1) { MonitorInputType = MonitorInputType_1; MinInput = MinMonInput_1; MaxInput = MaxMonInput_1; MinInputF = MinMonInputF_1; MaxInputF = MaxMonInputF_1; } if (sender == MonitorInputTextBox_2) { MonitorInputType = MonitorInputType_2; MinInput = MinMonInput_2; MaxInput = MaxMonInput_2; MinInputF = MinMonInputF_2; MaxInputF = MaxMonInputF_2; } if (sender == MonitorInputTextBox_3) { MonitorInputType = MonitorInputType_3; MinInput = MinMonInput_3; MaxInput = MaxMonInput_3; MinInputF = MinMonInputF_3; MaxInputF = MaxMonInputF_3; } if (sender == MonitorInputTextBox_4) { MonitorInputType = MonitorInputType_4; MinInput = MinMonInput_4; MaxInput = MaxMonInput_4; MinInputF = MinMonInputF_4; MaxInputF = MaxMonInputF_4; } if (sender == MonitorInputTextBox_5) { MonitorInputType = MonitorInputType_5; MinInput = MinMonInput_5; MaxInput = MaxMonInput_5; MinInputF = MinMonInputF_5; MaxInputF = MaxMonInputF_5; } if (sender == MonitorInputTextBox_6) { MonitorInputType = MonitorInputType_6; MinInput = MinMonInput_6; MaxInput = MaxMonInput_6; MinInputF = MinMonInputF_6; MaxInputF = MaxMonInputF_6; } TextBox.ForeColor = Color.Black; if (MonitorInputType == vp_type.vp_byte && byte.TryParse(TextBox.Text, out InputValueByte)) { if (InputValueByte >= MinInput && InputValueByte <= MaxInput) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_int && Int16.TryParse(TextBox.Text, out InputValueShort)) { if (InputValueShort >= MinInput && InputValueShort <= MaxInput) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_uint && UInt16.TryParse(TextBox.Text, out InputValueUShort)) { if (InputValueUShort >= MinInput && InputValueUShort <= MaxInput) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_long && Int32.TryParse(TextBox.Text, out InputValueLong)) { if (InputValueLong >= MinInput && InputValueLong <= MaxInput) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_ulong && UInt32.TryParse(TextBox.Text, out InputValueULong)) { if (InputValueULong >= MinInput && InputValueULong <= MaxInput) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_float && float.TryParse(TextBox.Text, out InputValueFloat)) { if (InputValueFloat >= MinInputF && InputValueFloat <= MaxInputF) { TextBox.ForeColor = Color.Black; ValueValid = true; } } else if (MonitorInputType == vp_type.vp_string) { if (TextBox.Text.Length <= 35) { TextBox.ForeColor = Color.Black; ValueValid = true; } } if (!ValueValid) { TextBox.ForeColor = Color.Red; } }
private void MonitorSendInput_Click(object sender, EventArgs e) { long MinInput = 0; long MaxInput = 0; float MinInputF = 0; float MaxInputF = 0; byte InputValueByte = 0; short InputValueShort = 0; ushort InputValueUShort = 0; int InputValueLong = 0; uint InputValueULong = 0; float InputValueFloat = 0; Panel Panel = new Panel(); TextBox TextBox = new TextBox(); ChannelId MonitorInput = ChannelId.MonitorInput_1; vp_type MonitorInputType = vp_type.vp_int; bool MonInput = false; if (sender == MonitorSendInput_1) { Panel = MonitorInputPanel_1; TextBox = MonitorInputTextBox_1; MonitorInput = ChannelId.MonitorInput_1; MonitorInputType = MonitorInputType_1; MonInput = MonInput_1; MinInput = MinMonInput_1; MaxInput = MaxMonInput_1; MinInputF = MinMonInputF_1; MaxInputF = MaxMonInputF_1; } if (sender == MonitorSendInput_2) { Panel = MonitorInputPanel_2; TextBox = MonitorInputTextBox_2; MonitorInput = ChannelId.MonitorInput_2; MonitorInputType = MonitorInputType_2; MonInput = MonInput_2; MinInput = MinMonInput_2; MaxInput = MaxMonInput_2; MinInputF = MinMonInputF_2; MaxInputF = MaxMonInputF_2; } if (sender == MonitorSendInput_3) { Panel = MonitorInputPanel_3; TextBox = MonitorInputTextBox_3; MonitorInput = ChannelId.MonitorInput_3; MonitorInputType = MonitorInputType_3; MonInput = MonInput_3; MinInput = MinMonInput_3; MaxInput = MaxMonInput_3; MinInputF = MinMonInputF_3; MaxInputF = MaxMonInputF_3; } if (sender == MonitorSendInput_4) { Panel = MonitorInputPanel_4; TextBox = MonitorInputTextBox_4; MonitorInput = ChannelId.MonitorInput_4; MonitorInputType = MonitorInputType_4; MonInput = MonInput_4; MinInput = MinMonInput_4; MaxInput = MaxMonInput_4; MinInputF = MinMonInputF_4; MaxInputF = MaxMonInputF_4; } if (sender == MonitorSendInput_5) { Panel = MonitorInputPanel_5; TextBox = MonitorInputTextBox_5; MonitorInput = ChannelId.MonitorInput_5; MonitorInputType = MonitorInputType_5; MonInput = MonInput_5; MinInput = MinMonInput_5; MaxInput = MaxMonInput_5; MinInputF = MinMonInputF_5; MaxInputF = MaxMonInputF_5; } if (sender == MonitorSendInput_6) { Panel = MonitorInputPanel_6; TextBox = MonitorInputTextBox_6; MonitorInput = ChannelId.MonitorInput_6; MonitorInputType = MonitorInputType_6; MonInput = MonInput_6; MinInput = MinMonInput_6; MaxInput = MaxMonInput_6; MinInputF = MinMonInputF_6; MaxInputF = MaxMonInputF_6; } if (!MonInput) { Panel.Visible = false; } if (MonitorInputType == vp_type.vp_byte && byte.TryParse(TextBox.Text, out InputValueByte) && (InputValueByte >= MinInput && InputValueByte <= MaxInput)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, vp_type.vp_byte, InputValueByte); } } else if (MonitorInputType == vp_type.vp_int && Int16.TryParse(TextBox.Text, out InputValueShort) && (InputValueShort >= MinInput && InputValueShort <= MaxInput)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, vp_type.vp_int, InputValueShort); } } else if (MonitorInputType == vp_type.vp_uint && UInt16.TryParse(TextBox.Text, out InputValueUShort) && (InputValueUShort >= MinInput && InputValueUShort <= MaxInput)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, vp_type.vp_uint, InputValueUShort); } } else if (MonitorInputType == vp_type.vp_long && Int32.TryParse(TextBox.Text, out InputValueLong) && (InputValueLong >= MinInput && InputValueLong <= MaxInput)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, vp_type.vp_long, InputValueLong); } } else if (MonitorInputType == vp_type.vp_ulong && UInt32.TryParse(TextBox.Text, out InputValueULong) && (InputValueULong >= MinInput && InputValueULong <= MaxInput)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, vp_type.vp_ulong, InputValueULong); } } else if (MonitorInputType == vp_type.vp_float && float.TryParse(TextBox.Text, out InputValueFloat) && (InputValueFloat >= MinInputF && InputValueFloat <= MaxInputF)) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, InputValueFloat); } } else if (MonitorInputType == vp_type.vp_string && TextBox.Text.Length <= 35) { if (arduinoport.IsConnected) { arduinoport.Send((byte)MonitorInput, TextBox.Text); } } else { TextBox.ForeColor = Color.Red; Panel.Visible = true; } }
private void MonitorInputTextBox_TextChange(object sender, EventArgs e) { long MinInput=0; long MaxInput=0; float MinInputF = 0; float MaxInputF = 0; byte InputValueByte = 0; short InputValueShort = 0; ushort InputValueUShort = 0; int InputValueLong = 0; uint InputValueULong = 0; float InputValueFloat = 0; bool ValueValid = false; TextBox TextBox = (TextBox)sender; vp_type MonitorInputType = vp_type.vp_int; Color EditColor = Color.Blue; if (sender == MonitorInputTextBox_1 && !MonInputEdit_1) { EditColor = Color.Black; MonInputEdit_1 = true; } if (sender == MonitorInputTextBox_2 && !MonInputEdit_2) { EditColor = Color.Black; MonInputEdit_2 = true; } if (sender == MonitorInputTextBox_3 && !MonInputEdit_3) { EditColor = Color.Black; MonInputEdit_3 = true; } if (sender == MonitorInputTextBox_4 && !MonInputEdit_4) { EditColor = Color.Black; MonInputEdit_4 = true; } if (sender == MonitorInputTextBox_5 && !MonInputEdit_5) { EditColor = Color.Black; MonInputEdit_5 = true; } if (sender == MonitorInputTextBox_6 && !MonInputEdit_6) { EditColor = Color.Black; MonInputEdit_6 = true; } if (sender == MonitorInputTextBox_1) { MonitorInputType = MonitorInputType_1; MinInput = MinMonInput_1; MaxInput = MaxMonInput_1; MinInputF = MinMonInputF_1; MaxInputF = MaxMonInputF_1; AcceptButton = MonitorSendInput_1; CancelButton = MonitorDiscardInput_1; } if (sender == MonitorInputTextBox_2) { MonitorInputType = MonitorInputType_2; MinInput = MinMonInput_2; MaxInput = MaxMonInput_2; MinInputF = MinMonInputF_2; MaxInputF = MaxMonInputF_2; AcceptButton = MonitorSendInput_2; CancelButton = MonitorDiscardInput_2; } if (sender == MonitorInputTextBox_3) { MonitorInputType = MonitorInputType_3; MinInput = MinMonInput_3; MaxInput = MaxMonInput_3; MinInputF = MinMonInputF_3; MaxInputF = MaxMonInputF_3; AcceptButton = MonitorSendInput_3; CancelButton = MonitorDiscardInput_3; } if (sender == MonitorInputTextBox_4) { MonitorInputType = MonitorInputType_4; MinInput = MinMonInput_4; MaxInput = MaxMonInput_4; MinInputF = MinMonInputF_4; MaxInputF = MaxMonInputF_4; AcceptButton = MonitorSendInput_4; CancelButton = MonitorDiscardInput_4; } if (sender == MonitorInputTextBox_5) { MonitorInputType = MonitorInputType_5; MinInput = MinMonInput_5; MaxInput = MaxMonInput_5; MinInputF = MinMonInputF_5; MaxInputF = MaxMonInputF_5; AcceptButton = MonitorSendInput_5; CancelButton = MonitorDiscardInput_5; } if (sender == MonitorInputTextBox_6) { MonitorInputType = MonitorInputType_6; MinInput = MinMonInput_6; MaxInput = MaxMonInput_6; MinInputF = MinMonInputF_6; MaxInputF = MaxMonInputF_6; AcceptButton = MonitorSendInput_6; CancelButton = MonitorDiscardInput_6; } TextBox.ForeColor = EditColor; if (MonitorInputType == vp_type.vp_byte && byte.TryParse(TextBox.Text, out InputValueByte)) { if (InputValueByte >= MinInput && InputValueByte <= MaxInput) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_int && Int16.TryParse(TextBox.Text, out InputValueShort)) { if (InputValueShort >= MinInput && InputValueShort <= MaxInput) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_uint && UInt16.TryParse(TextBox.Text, out InputValueUShort)) { if (InputValueUShort >= MinInput && InputValueUShort <= MaxInput) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_long && Int32.TryParse(TextBox.Text, out InputValueLong)) { if (InputValueLong >= MinInput && InputValueLong <= MaxInput) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_ulong && UInt32.TryParse(TextBox.Text, out InputValueULong)) { if (InputValueULong >= MinInput && InputValueULong <= MaxInput) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_float && float.TryParse(TextBox.Text, out InputValueFloat)) { if (InputValueFloat >= MinInputF && InputValueFloat <= MaxInputF) { ValueValid = true; } } else if (MonitorInputType == vp_type.vp_string ) { if (TextBox.Text.Length <= 35 && TextBox.Text.Length <= MaxInput && TextBox.Text.Length >= MinInput) { ValueValid = true; } } if (!ValueValid) TextBox.ForeColor = Color.Red; }
public MessageEventArgs(int channel, vp_type type, T data) { ChannelID = channel; Type = type; Data = data; }