MycronicControl.cs
5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
using DeviceLibrary;
using OnlineStore;
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;
namespace TheMachine.device.Other
{
public partial class MycronicControl : UserControl
{
public MycronicControl()
{
InitializeComponent();
}
private void MycronicControl_Load(object sender, EventArgs e)
{
uc_boxdebug1.Init(RobotManage.MI1Postion);
uc_boxdebug2.Init(RobotManage.MI2Postion);
uc_boxdebug3.Init(RobotManage.CIPostion);
ucurRobot1.Init(RobotManage.Robot_MI1);
ucurRobot2.Init(RobotManage.Robot_MI2);
ucurRobot3.Init(RobotManage.Robot_CI);
#region 状态信息listview初始化
stateView.View = View.Details;
ColumnHeader c1 = new ColumnHeader();
c1.Text = "";
c1.Width = 0;
ColumnHeader c2 = new ColumnHeader();
c2.Text = "Tower ID";
c2.Width = 120;
ColumnHeader c3 = new ColumnHeader();
c3.Text = "Status";
c3.Width = 120;
ColumnHeader c4 = new ColumnHeader();
c4.Text = crc.GetString("Form1_tabc_tabP1_Text", "信息");
c4.Width = 470;
stateView.Columns.Add(c1);
stateView.Columns.Add(c2);
stateView.Columns.Add(c3);
stateView.Columns.Add(c4);
#endregion
crc.LanguageChangeEvent += Crc_LanguageChangeEvent; ;
// 假设 TowerInfo 列表已经存在并被填充了
List<TowerInfo> towerList = TowerList.List.Values.ToList();
// 创建一个 checkbox 的列表控件
List<CheckBox> checkBoxList = new List<CheckBox>();
// 遍历 TowerInfo 列表,并生成一个带有 checkbox 的列表
foreach (var tower in towerList)
{
// 创建一个新的 checkbox 控件
CheckBox checkBox = new CheckBox();
checkBox.Text = tower.TowerName;
checkBox.Checked = tower.Enable;
checkBox.Width = 150;
// 添加一个 Tag 属性,用于保存对应的 TowerInfo 对象
checkBox.Tag = tower;
// 将 checkbox 控件添加到列表中
checkBoxList.Add(checkBox);
// 将 checkbox 的 CheckedChanged 事件与一个方法绑定,用于修改对应的 TowerInfo 对象的 enable 属性
checkBox.CheckedChanged += CheckBox_CheckedChanged;
}
// 将 checkbox 列表添加到窗体中的一个容器控件中
foreach (var checkBox in checkBoxList)
{
flowLayoutPanel2.Controls.Add(checkBox);
}
}
// CheckBox 的 CheckedChanged 事件的处理方法
private void CheckBox_CheckedChanged(object sender, EventArgs e)
{
// 获取当前 checkbox 控件和对应的 TowerInfo 对象
CheckBox checkBox = (CheckBox)sender;
TowerInfo tower = (TowerInfo)checkBox.Tag;
// 更新 TowerInfo 对象的 enable 属性
tower.Enable = checkBox.Checked;
}
private void Crc_LanguageChangeEvent(object sender, EventArgs e)
{
stateView.Columns[1].Text = "Tower ID";
stateView.Columns[2].Text = "Status";
stateView.Columns[3].Text = crc.GetString("Form1_tabc_tabP1_Text", "信息");
}
private void tabPage4_Click(object sender, EventArgs e)
{
}
private void btn_manualout_Click(object sender, EventArgs e)
{
VStoreCollection.VStoreList.Values.First().VLog.Info("手动出库:"+ txt_reelid.Text);
VStoreCollection.VStoreList.Values.First().ServerCM.BeginOutStore(new JobInfo(txt_reelid.Text, "", 0, 0), RobotManage.VStoreCollection.VLog);
}
private void timer1_Tick(object sender, EventArgs e)
{
stateView.Items.Clear();
foreach (var store in VStoreCollection.VStoreList.Values.ToList()) {
ListViewItem lvi = new ListViewItem(new string[] { "", TowerList.List[store.CID].PosID+"-"+store.CID, store.RTStoreStatus.ToString(), store.GetStateStr() });
stateView.Items.Add(lvi);
}
}
private void btn_ResetRobot_Click(object sender, EventArgs e)
{
if (RobotManage.isRunning)
{
MessageBox.Show(crc.GetString("Res0072","请先停止系统运行"));
return;
}
MI.DeviceList["AMH-MI1"].Reset();
}
private void button1_Click(object sender, EventArgs e)
{
if (RobotManage.isRunning)
{
MessageBox.Show(crc.GetString("Res0072", "请先停止系统运行"));
return;
}
MI.DeviceList["AMH-MI2"].Reset();
}
}
}