123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- using IMCS.DefaultList;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using YG;
- namespace IMCS.UControl
- {
- public partial class UserControl1 : UserControl
- {
- bool Run = false;
- short StartIndex = 0;
- short EndIndex = 0;
- IMCS.Logic.WeiLiHandle weiLi;
- public System.ComponentModel.BindingList<WeiLiTaskDefaultList> CurrentTask = new BindingList<WeiLiTaskDefaultList>();
- public UserControl1()
- {
- InitializeComponent();
- this.Load += UserControl1_Load;
- }
- bool isRun = false;
- private void UserControl1_Load(object sender, EventArgs e)
- {
- //weiLi = new Logic.WeiLiHandle();
- //weiLi.DeviceInit();
- //weiLi.DeviceStart();
- // weiLi.Msg += WeiLi_Msg;
- // CurrentTask = DeviceConfig.Instance.WeiLiTask;
- //foreach (control cc in this.tablelayoutpanel1.controls)
- //{
- // if (cc is label)
- // {
- // label lb = (label)cc;
- // if (!lb.text.equals("控制机柜"))
- // {
- // lb.allowdrop = true;
- // lb.mousedown += new mouseeventhandler(lb_mousedown1);
- // lb.dragenter += new drageventhandler(label_dragenter);
- // lb.dragdrop += new drageventhandler(label_dragdrop);
- // lb.backcolor = system.drawing.color.aliceblue;
- // lb.textalign = system.drawing.contentalignment.middlecenter;
- // lb.autosize = false;
- // lb.width = 60;
- // lb.height = 60;
- // }
- // }
- //}
- //task.factory.startnew(async () =>
- //{
- // while (true && !isrun)
- // {
- // await task.delay(100);
- // if (currenttask.where(m => !m.task_gameover).count() > 0)
- // {
- // currenttask.where(m => !m.task_gameover).firstordefault().firstordefaultyg((t) =>
- // {
- // if (!t.task_send)
- // {
- // write_plc((short)t.task_index, t.task_startindex, t.task_endindex, t.task_operation);
- // t.task_send = true;
- // }
- // });
- // }
- // }
- //});
- }
- private void WeiLi_Msg(string obje1, string obje2, string obje3)
- {
- System.Console.WriteLine($"{obje1}-->>{obje2}-->{obje3}");
- if (obje3.Length - obje3.Replace(",", "").Length != 1)
- {
- MessageBox.Show("接受到的值解析出现问题");
- return;
- }
- string[] vs = obje3.Split(new string[] { "," }, StringSplitOptions.None);
- short state = vs[1].ObjectToShort();
- CurrentTask.Where(m => m.Task_Index.Equals(vs[0].StringToInt())).FirstOrDefault().FirstOrDefaultYG((t) =>
- {
- if (t.Task_Type.Equals(TaskType.取) && state == 3)
- {
- t.Task_GameOver = true;
- }
- else if (t.Task_Type.Equals(TaskType.放) && state == 6)
- {
- t.Task_GameOver = true;
- }
- else if (t.Task_Type.Equals(TaskType.移动) && state == 8)
- {
- t.Task_GameOver = true;
- }
- t.Task_RunState = state;
- });
- }
- private void Lb_MouseDown1(object sender, MouseEventArgs e)
- {
- Label startlable = sender as Label;
- if ((e.Button == System.Windows.Forms.MouseButtons.Left))
- {
- startlable.DoDragDrop(startlable, DragDropEffects.Copy | DragDropEffects.Move);
- //形成拖拽效果,移动+拷贝的组合效果
- }
- }
- private void Label_DragEnter(object sender, DragEventArgs e)
- {
- e.Effect = DragDropEffects.Copy;
- }
- private void Write_Plc(short taskid, short start, short end, short operatio)
- {
- weiLi.DeviceSend("DB200.44", taskid);
- weiLi.DeviceSend("DB200.46", start);
- weiLi.DeviceSend("DB200.48", end);
- weiLi.DeviceSend("DB200.50", operatio);
- }
- private void Label_DragDrop(object sender, DragEventArgs e)
- {
- Label lb = (Label)sender;
- EndIndex = (short)lb.Tag.ObjectToInt();
- var cc = (Label)e.Data.GetData(typeof(Label));
- StartIndex = cc.Tag.ObjectToShort();
- Run = false;
- int currentTaskCount = CurrentTask.Where(m => m.Task_StartIndex.Equals(StartIndex) && m.Task_EndIndex.Equals(EndIndex) && m.Task_GameOver).Count();
- if (currentTaskCount > 0)
- {
- System.Windows.Forms.MessageBox.Show("当前任务列表中存在和拖拽内容相似的任务,当前拖拽不执行");
- }
- else
- {
- short item = 0;
- if (StartIndex.Equals(124) || StartIndex.Equals(125))
- {
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 7, Task_Type = TaskType.移动, Task_StartIndex = StartIndex });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 1, Task_StartIndex = StartIndex, Task_Type = TaskType.取 });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 4, Task_StartIndex = StartIndex, Task_Type = TaskType.放 });
- }
- else if (EndIndex.Equals(124) || EndIndex.Equals(125))
- {
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = StartIndex, Task_Operation = 7, Task_Type = TaskType.移动, Task_StartIndex = StartIndex });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 1, Task_StartIndex = StartIndex, Task_Type = TaskType.取 });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 4, Task_StartIndex = StartIndex, Task_Type = TaskType.放 });
- }
- else
- {
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = StartIndex, Task_Operation = 7, Task_Type = TaskType.移动, Task_StartIndex = StartIndex });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 1, Task_StartIndex = StartIndex, Task_Type = TaskType.取 });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = 124, Task_Operation = 4, Task_StartIndex = StartIndex, Task_Type = TaskType.放 });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 7, Task_Type = TaskType.移动, Task_StartIndex = StartIndex });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 1, Task_StartIndex = 124, Task_Type = TaskType.取 });
- CurrentTask.Add(new WeiLiTaskDefaultList() { Task_Index = CurrentTask.Count + 1, Task_EndIndex = EndIndex, Task_Operation = 4, Task_StartIndex = StartIndex, Task_Type = TaskType.放 });
- }
- }
- }
- }
- }
|