천호석
2022-06-17 4de9ea98e13449174aa2cd09c8351fc0e978f44a
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
using System;
using System.Windows.Forms;
using SHARP_CLAS_UI.Screen;
 
namespace SHARP_CLAS_UI
{
    public partial class uc_Tray_Info_Row : UserControl
    {
        #region Property
 
        public delegate void UpdateEvent(Recipe_Event_Status status);
 
        public delegate void UpdateColunm();
        public Tray_Row_Info Row_data { get; private set; }
        
        private UpdateEvent updatedel;
 
        private UpdateColunm update_column;
        #endregion
 
        #region Construct
        public uc_Tray_Info_Row(Tray_Row_Info Row_data, UpdateEvent update, UpdateColunm update_column)
        {
            InitializeComponent();
            updatedel = new UpdateEvent(update);
            this.update_column = new UpdateColunm(update_column);
            this.Row_data = Row_data;
            lb_Row.Text = $"{resLanguage.Row} {Row_data.Row}";
            Set_Column(Row_data.Column); 
            Set_Pick_Position(Row_data.Pick_Position_X, Row_data.Pick_Position_Y);
            Set_Language();
        }
        #endregion
 
        #region Function
        public void Set_Language()
        {
            lb_Row.Text = $"{resLanguage.Row} {Row_data.Row}";
            lb_Column.Text = resLanguage.Column;
            lb_Pick.Text = $"{resLanguage.Pick}(mm)";
            lb_Pick_pos_x.Text = resLanguage.Pos_X;
            lb_Pick_pos_y.Text = resLanguage.Pos_Y;
        }
 
        private void tb_TextChanged(object sender, EventArgs e)
        {
            TextBox tb = (TextBox)sender;
 
            int value_int;
            double value_double;
            
            switch(tb.Name)
            {
                case "tb_Column":
                    {
                        int.TryParse(tb_Column.Text, out value_int);
 
                        tb_Column.Text = value_int.ToString();
                        Row_data.Column = value_int;
 
                        update_column();
                        updatedel(Recipe_Event_Status.Update);
 
                        break;
                    }
                case "tb_Pick_Position_X":
                    {
                        double.TryParse(tb_Pick_Position_X.Text, out value_double);
 
                        tb_Pick_Position_X.Text = value_double.ToString();
                        Row_data.Pick_Position_X = value_double;
 
                        updatedel(Recipe_Event_Status.Update);
 
                        break;
                    }
                case "tb_Pick_Position_Y":
                    {
                        double.TryParse(tb_Pick_Position_Y.Text, out value_double);
 
                        tb_Pick_Position_Y.Text = value_double.ToString();
                        Row_data.Pick_Position_Y = value_double;
 
                        updatedel(Recipe_Event_Status.Update);
 
                        break;
                    }
            }
        }
 
        private void Set_Column(int column)
        {
            Row_data.Column = column;
            tb_Column.Text = column.ToString();
        }
 
        private void Set_Pick_Position(double Position_X, double Position_Y)
        {
            Row_data.Pick_Position_X = Position_X;
            Row_data.Pick_Position_Y = Position_Y;
            tb_Pick_Position_X.Text = Position_X.ToString();
            tb_Pick_Position_Y.Text = Position_Y.ToString();
        }
        
        public void Check_Deffernt(Tray_Row_Info CompareData)
        {
            tb_Column.BackColor = Row_data.Column == CompareData.Column ? System.Drawing.Color.White : System.Drawing.Color.Red;
            tb_Pick_Position_X.BackColor = Row_data.Pick_Position_X == CompareData.Pick_Position_X ? System.Drawing.Color.White : System.Drawing.Color.Red;
            tb_Pick_Position_Y.BackColor = Row_data.Pick_Position_Y == CompareData.Pick_Position_Y ? System.Drawing.Color.White : System.Drawing.Color.Red;
        }
 
        public void Set_Defferent()
        {
            tb_Column.BackColor = System.Drawing.Color.Red;
            tb_Pick_Position_X.BackColor = System.Drawing.Color.Red;
            tb_Pick_Position_Y.BackColor = System.Drawing.Color.Red;
        }
        #endregion
    }
}