private void updatePanel() { foreach (SingleTask st in singleTaskList) { TaskButton button = (TaskButton)buttonStHash[st.taskID]; if (st.taskStat == TASKSTAT_T.TASK_READY_SEND || st.taskStat == TASKSTAT_T.TASK_END) //待可以发送状态,可以取消该任务 { button.BackColor = Color.LightGray; } else if (st.taskStat == TASKSTAT_T.TASK_SEND || st.taskStat == TASKSTAT_T.TASK_SEND_SUCCESS) { button.BackColor = Color.Green; } } }
private void initPanel() { foreach (SingleTask st in singleTaskList) { TaskButton button = new TaskButton(); if (st.taskType == TASKTYPE_T.TASK_TYPE_UP_DILIVERY || st.taskType == TASKTYPE_T.TASK_TYPE_UP_PICK) { if (st.taskType == TASKTYPE_T.TASK_TYPE_UP_DILIVERY) { button.MouseDown += taskButtonMouseDown; //卸货1、2界面不能发送,需要到配置中单独发送 } button.Name = st.taskName; button.Text = st.taskText; Console.WriteLine(" button name = " + button.Text); upButtonList.Add(button); upPanel.Controls.Add(button); } else if (st.taskType == TASKTYPE_T.TASK_TYPE_DOWN_DILIVERY || st.taskType == TASKTYPE_T.TASK_TYPE_DOWN_PICK) { button.Name = st.taskName; button.Text = st.taskText; downButtonList.Add(button); downPanel.Controls.Add(button); } button.setSingleTask(st); buttonStHash.Add(st.taskID, button); } addAllTaskRecordButton.Location = new Point(1150, 70); addAllTaskRecordButton.Size = new Size(120, 40); addAllTaskRecordButton.Click += addAllTaskRecordButton_Click; upPanel.Controls.Add(addAllTaskRecordButton); this.systemPauseButton.Name = "pause"; this.systemPauseButton.Text = "系统暂停"; systemPauseButton.Location = new Point(90, 100); systemPauseButton.Size = new Size(120, 60); systemPauseButton.Click += systemPauseButton_Click; systemPauseButton.BackColor = Color.DarkGray; systemPauseButton.Font = new Font("SimSun", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); controlPanel.Controls.Add(systemPauseButton); initUserPanel(); //最底下的panel initAgvPanel(); //初始化单车信息的Panel }
private void taskButtonMouseDown(object sender, MouseEventArgs e) { TaskButton button = (TaskButton)sender; if (e.Button == MouseButtons.Right) { selectedButton = button; Console.WriteLine(" select button name = " + selectedButton.Name); //string sql = "select * from taskrecord, singletask where taskRecordStat in (1, 2, 3) and singleTask = singletask.id and singletask.taskName = '" + button.Name + "'"; TaskRecord tr = (TaskRecord)button.getBindValue(); if (tr == null) { addTasktMenu.Show(button, new Point(e.X, e.Y)); } else if (tr.taskRecordStat == TASKSTAT_T.TASK_READY_SEND) //该状态可以取消任务 { cancelTasktMenu.Show(button, new Point(e.X, e.Y)); } } }
private void _updateFrm() { while (!isStop) { _updateAgvPanel(); _updateSystemPause(); //如果设置系统暂停后,界面需要更新,用户不能再操作 if (!isUpdateFrm) { Thread.Sleep(1000); continue; } lock (AGVInitialize.getInitialize().getLockTask()) { foreach (DictionaryEntry de in buttonStHash) { int taskID = (int)de.Key; TaskButton tb = (TaskButton)de.Value; //Console.WriteLine(" look task id = " + taskID); TaskRecord tr = lookTaskRecordByTaskId(taskID); tb.bindValue(tr); if (tr != null) { if (tr.taskRecordStat == TASKSTAT_T.TASK_READY_SEND) { tb.BackColor = Color.LightGray; } else if (tr.taskRecordStat == TASKSTAT_T.TASK_SEND || tr.taskRecordStat == TASKSTAT_T.TASK_SEND_SUCCESS) { tb.BackColor = Color.LightGreen; } } else { tb.BackColor = Color.White; //没有任务记录表示,任务执行完成或没有发送任务,颜色改为白色 } } } isUpdateFrm = false; } }
public void initMainFrm() { MenuItem addItem = new MenuItem("添加"); addItem.Name = "addPalletItem"; addItem.Name = "addPalletItem"; addItem.Click += new EventHandler(palletItemClick); addTasktMenu.MenuItems.Add(addItem); MenuItem cancelItem = new MenuItem("取消"); cancelItem.Name = "cancelTaskItem"; cancelItem.Click += new EventHandler(cancelItemClick); cancelTasktMenu.MenuItems.Add(cancelItem); MenuItem toplItem = new MenuItem("置顶"); //将该任务的优先级提到最高 toplItem.Name = "topTaskItem"; toplItem.Click += new EventHandler(topItemClick); cancelTasktMenu.MenuItems.Add(toplItem); initPanel(); updatePanel(); foreach (DictionaryEntry de in buttonStHash) { int id = (int)de.Key; TaskButton button = (TaskButton)de.Value; switch (id) { case 1: // 上货 button.Location = new System.Drawing.Point(291, 65); button.Size = new System.Drawing.Size(96, 29); break; case 2: //卸货A button.Location = new System.Drawing.Point(498, 65); button.Size = new System.Drawing.Size(96, 29); break; case 3: //卸货B button.Location = new System.Drawing.Point(699, 65); button.Size = new System.Drawing.Size(96, 29); break; case 4: // 1号 button.Location = new System.Drawing.Point(109, 50); button.Size = new System.Drawing.Size(96, 29); break; case 5: //2号 button.Location = new System.Drawing.Point(109, 100); button.Size = new System.Drawing.Size(96, 29); break; case 6: //3号 button.Location = new System.Drawing.Point(239, 50); button.Size = new System.Drawing.Size(96, 29); break; case 7: // 4号 button.Location = new System.Drawing.Point(239, 100); button.Size = new System.Drawing.Size(96, 29); break; case 8: //5号 button.Location = new System.Drawing.Point(389, 50); button.Size = new System.Drawing.Size(96, 29); break; case 9: //6号 button.Location = new System.Drawing.Point(389, 100); button.Size = new System.Drawing.Size(96, 29); break; case 16: //卸货6号 button.Location = new System.Drawing.Point(989, 50); button.Size = new System.Drawing.Size(96, 29); break; case 10: //7号 button.Location = new System.Drawing.Point(539, 50); button.Size = new System.Drawing.Size(96, 29); break; case 11: //8号 button.Location = new System.Drawing.Point(539, 100); button.Size = new System.Drawing.Size(96, 29); break; case 12: //9号 button.Location = new System.Drawing.Point(689, 50); button.Size = new System.Drawing.Size(96, 29); break; case 13: // 10号 button.Location = new System.Drawing.Point(689, 100); button.Size = new System.Drawing.Size(96, 29); break; case 14: //11号 button.Location = new System.Drawing.Point(839, 50); button.Size = new System.Drawing.Size(96, 29); break; case 17: //卸货12 button.Location = new System.Drawing.Point(989, 100); button.Size = new System.Drawing.Size(96, 29); break; case 15: //12号 button.Location = new System.Drawing.Point(839, 100); button.Size = new System.Drawing.Size(96, 29); break; } } startUpdateThread(); //this.Update(); }