/** * 复选框点击事件(通用) **/ private void CheckBox_Click(object sender, EventArgs e) { String cmd = "00" + " " + ((CheckBox)sender).TabIndex.ToString("X2") + " " + (((CheckBox)sender).Checked ? "FF" : "00") + " " + "00"; SerialPortX serialPortX = FT02RLConfigLoader.instance.Get("1234567890"); if (serialPortX == null) { return; } serialPortX.EnqueueModbus(false, new FT02RLWriteCMDEventHandler(), "01", "05", cmd); }
/** * 窗口加载后事件 **/ private void FT02RLForm_Load(object sender, EventArgs e) { FT02RLConfigLoader.instance.Load( (sid, portName, readedHexString) => { Log(false, "串口【" + portName + "】读取到数据:" + (readedHexString.Length > 18 ? "\n" : "") + "【" + readedHexString + "】"); }, (sid, portName) => { Log(null, "尝试打开串口【" + portName + "】"); }, (sid, portName) => { Log(null, "尝试打开串口【" + portName + "】 -> 成功"); }, (sid, portName) => { Log(null, "尝试打开串口【" + portName + "】 -> 失败"); }, (sid, portName) => { Log(false, "串口【" + portName + "】仍处于打开状态"); }, (sid, portName) => { Log(null, "串口【" + portName + "】已经断开"); }, (sid, portName) => { Log(null, "尝试重新打开串口【" + portName + "】"); }, (sid, portName) => { Log(null, "尝试重新打开串口【" + portName + "】 -> 成功"); }, (sid, portName) => { Log(null, "尝试重新打开串口【" + portName + "】 -> 失败"); }, (sid, portName) => { SerialPortX serialPortX = FT02RLConfigLoader.instance.Get(sid); if (serialPortX == null) { return; } serialPortX.EnqueueModbus(true, new FT02RLReadCMDEventHandler((SID, PortName, result) => { switch (result) { case 0: // 所有路均未接通 { Log(false, "串口【" + portName + "】,所有路均未接通。"); Checkbox_Checked(input01, false); Checkbox_Checked(input02, false); }; break; case 1: // 01路接通 { Log(null, "串口【" + portName + "】,01路接通。"); Checkbox_Checked(input01, true); Checkbox_Checked(input02, false); }; break; case 2: // 02路接通 { Log(null, "串口【" + portName + "】,02路接通。"); Checkbox_Checked(input01, false); Checkbox_Checked(input02, true); }; break; case 3: // 01路接通 // 02路接通 { Log(null, "串口【" + portName + "】,01路接通。"); Log(null, "串口【" + portName + "】,02路接通。"); Checkbox_Checked(input01, true); Checkbox_Checked(input02, true); }; break; } }), "01", "02", "00 00 00 02"); } ); }