private void FormMain_Load(object sender, EventArgs e) { try { TestedRacks tc = testedRacks.Load(); if (tc != null) { testedRacks.CopyFrom(tc); } else { testedRacks.SaveThis(); } } catch (System.Exception ex) { } testedRacks.TestStatus = TestStatus.EXPECTED_FINNISH; testedRacks.OnTestStatusChange += new EventHandler(onChangeStatus); testedRacks.OnTimeout += new EventHandler(onTimeout); testedRacks.OnBoardStatusChange += new EventHandler(onBoardStatus); setUIEnabled(false); DisplayTree(testedRacks); udp.UdpTxPrepare(); udp.UpdRxStart(); Thread udpTxStartThread = new Thread(new ThreadStart(udp.UdpTxStart)); udpTxStartThread.Start(); }
private void onBoardStatus(object sender, EventArgs e) { TestedRacks tr = sender as TestedRacks; BoardStatusEventArgs args = e as BoardStatusEventArgs; if (!args.Board.IsPassed) { SetNodeColor(testedRacks, TestStatus.RUNNING); } }
private string findSnByRack(TestedRacks lastTestedRacks, int rack) { foreach (Rack r in lastTestedRacks.Racks) { if (r.No == rack) { return(r.SN); } } return(""); }
private void onTimeout(object sender, EventArgs e) { TestedRacks tr = sender as TestedRacks; TimeoutEventArgs args = e as TimeoutEventArgs; List <Board> Boards = args.Boards; foreach (Board b in Boards) { UpdateGridData(b); } }
private void SetNodeColor(TestedRacks testedRacks, TestStatus testStatus) { foreach (Node basenode in rackAdvTree.Nodes) { foreach (Node rack in basenode.Nodes) { Rack r = (Rack)rack.Tag; if (r.IsTested) { foreach (Node board in rack.Nodes) { Board b = (Board)board.Tag; switch (testStatus) { case TestStatus.THRESHOLD: break; case TestStatus.HANDS_OK: break; case TestStatus.RUNNING: if (!b.IsPassed) { SetAdvTreeNodeColor(Color.Red, board); } break; case TestStatus.UNEXPECTED_FINNISH: break; case TestStatus.EXPECTED_FINNISH: if (b.IsTested) { if (b.IsPassed) { SetAdvTreeNodeColor(Color.Green, board); } else { SetAdvTreeNodeColor(Color.Red, board); } } break; } } } } } }
private void onChangeStatus(object sender, EventArgs e) { TestedRacks tr = sender as TestedRacks; TestStatusEventArgs args = e as TestStatusEventArgs; switch (args.CurStatus) { case TestStatus.THRESHOLD: SetNodeColor(testedRacks, TestStatus.THRESHOLD); SetLabelResult(TestStatus.THRESHOLD); LoadingCircle(true); break; case TestStatus.HANDS_OK: SetNodeColor(testedRacks, TestStatus.HANDS_OK); SetLabelResult(TestStatus.HANDS_OK); setUIEnabled(true); LoadingCircle(false); break; case TestStatus.HANDS_NOTOK: SetLabelResult(TestStatus.HANDS_NOTOK); LoadingCircle(false); break; case TestStatus.RUNNING: SetNodeColor(testedRacks, TestStatus.RUNNING); SetLabelResult(TestStatus.RUNNING); break; case TestStatus.UNEXPECTED_FINNISH: SetNodeColor(testedRacks, TestStatus.UNEXPECTED_FINNISH); SetLabelResult(TestStatus.UNEXPECTED_FINNISH); LoadingCircle(false); setUIEnabled(false); break; case TestStatus.EXPECTED_FINNISH: this.btnFinish_Click(null, null); SetNodeColor(testedRacks, TestStatus.EXPECTED_FINNISH); SetLabelResult(TestStatus.EXPECTED_FINNISH); break; } }
public void DisplayTree(TestedRacks testedRacks) { rackAdvTree.Nodes.Clear(); Node baseroot = new Node(); baseroot.Tag = "TSP"; baseroot.Text = "TSP"; baseroot.Expand(); Node root = null; Node teed = null; foreach (Rack rack in testedRacks.Racks) { root = new Node(); root.Text = rack.Name; root.Tag = rack; root.CheckBoxVisible = true; root.Checked = rack.IsTested; baseroot.Nodes.Add(root); if (rack.Name.Contains("部件功能测试")) { root.Expand(); } foreach (Board board in rack.Boards) { teed = new Node(); teed.Text = board.Name; teed.Tag = board; if (!board.Name.Contains("空")) { if (board.IsTested) { teed.Checked = true; } teed.Expand(); root.Nodes.Add(teed); } } } rackAdvTree.Nodes.Add(baseroot); rackAdvTree.Refresh(); }
private void btnReadBack_Click(object sender, EventArgs e) { TestedRacks tr = testedRacks.LoadByKey(testedRacks.LastKey); if (tr != null) { this.Enabled = false; foreach (Rack r in testedRacks.Racks) { if (r.IsTested) { r.SN = findSnByRack(tr, r.No); } } ReloadFrm(); this.Enabled = true; } else { MessageBox.Show("历史SN号读取失败。"); } }