private void checkUnFinish() { while (!isStop) { lock (obj) { bool needRefresh = false; List <DataMessage> overTime_list = messages.Where(m => m.status == STATUS.OVERTIME).ToList(); foreach (DataMessage message in overTime_list) { string unit = ChangeAppConfig.getValueFromKey("UnFinishUnit"); if (unit.Equals("H") || unit.Equals("时")) { if (DateTime.Compare(message.timeConvert().AddHours(InitData.GetUnFinish()), DateTime.Now) < 0) { message.status = STATUS.UNFINISH; _server.updateMessUnfinish(message); needRefresh = true; } } else if (unit.Equals("M") || unit.Equals("分")) { if (DateTime.Compare(message.timeConvert().AddMinutes(InitData.GetUnFinish()), DateTime.Now) < 0) { message.status = STATUS.UNFINISH; _server.updateMessUnfinish(message); needRefresh = true; } } else { if (DateTime.Compare(message.timeConvert().AddSeconds(InitData.GetUnFinish()), DateTime.Now) < 0) { message.status = STATUS.UNFINISH; _server.updateMessUnfinish(message); needRefresh = true; } } } if (needRefresh) { newmsg = messages.Where(m => m.status == STATUS.WAITING).ToList(); if (this.components == null || IsDisposed || !IsHandleCreated) { isStop = true; return; } this.Invoke((EventHandler)(delegate { refresh(0); })); } } Thread.Sleep(10000); } }
public systemSettingForm() { InitializeComponent(); companyNametextBox.Text = ChangeAppConfig.getValueFromKey("CompanyName"); //string[] comNums = Common.MulGetHardwareInfo(HardwareEnum.Win32_SerialPort, "Name"); List <string> COMs = SerialPort.GetPortNames().ToList(); List <int> databytes = new List <int>() { 5, 6, 7, 8 }; List <int> bundRates = new List <int>() { 2400, 4800, 9600, 19200, 38400 }; List <double> stopbytes = new List <double>() { 1, 1.5, 2 }; List <int> duration = new List <int>() { 5, 10 }; if (!COMs.Contains(InitData.com.COMID)) { COMs.Add(InitData.com.COMID); } COMcomboBox.DataSource = COMs; if (InitData.com.COMID == null && COMs.Count > 0) { COMcomboBox.SelectedIndex = 0; } else { COMcomboBox.SelectedItem = InitData.com.COMID; } if (!databytes.Contains(InitData.com.DataBits)) { databytes.Add(InitData.com.DataBits); } dataComboBox.DataSource = databytes; dataComboBox.SelectedItem = InitData.com.DataBits; if (!bundRates.Contains(InitData.com.BaudRate)) { bundRates.Add(InitData.com.BaudRate); } bundRateComboBox.DataSource = bundRates; bundRateComboBox.SelectedItem = InitData.com.BaudRate; if (!stopbytes.Contains(InitData.com.StopBit)) { stopbytes.Add(InitData.com.StopBit); } stopComboBox.DataSource = stopbytes; stopComboBox.SelectedItem = InitData.com.StopBit; if (InitData.callbtnsetting != null && InitData.callbtnsetting.callBtnSettings != null) { if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.A)) { AtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.A]; } if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.B)) { BtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.B]; } if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.C)) { CtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.C]; } if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.D)) { DtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.D]; } if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.E)) { EtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.E]; } if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.F)) { FtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.F]; } } if (InitData.timecolor != null) { Color c = Color.FromArgb(InitData.timecolor.WaitTime); wait_btn.BackColor = c; c = Color.FromArgb(InitData.timecolor.TimeOutTime); timeout_btn.BackColor = c; c = Color.FromArgb(InitData.timecolor.FinishedTime); finish_btn.BackColor = c; } if (InitData.orderby != null) { if (InitData.orderby.ordertype == OrderBy.OrderType.ASC) { ASCradioButton.Checked = true; } else { DESradioButton.Checked = true; } } trackBar3.Value = InitData.TimeOut; number.Text = trackBar3.Value.ToString(); trackBar3.Update(); changeLanguage(); string unit = ChangeAppConfig.getValueFromKey("TimeUnit"); if (unit.Equals("S") || unit.Equals("秒")) { unit_box.SelectedIndex = 0; } else if (unit.Equals("M") || unit.Equals("分")) { unit_box.SelectedIndex = 1; } else { unit_box.SelectedIndex = 2; } trackBar1.Value = InitData.GetUnFinish(); label13.Text = trackBar1.Value.ToString(); trackBar1.Update(); unit = ChangeAppConfig.getValueFromKey("TimeUnit"); if (unit.Equals("S") || unit.Equals("秒")) { comboBox1.SelectedIndex = 0; } else if (unit.Equals("M") || unit.Equals("分")) { comboBox1.SelectedIndex = 1; } else { comboBox1.SelectedIndex = 2; } }