FixtureSizeConfigControl.cs
4.9 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
148
149
using Newtonsoft.Json;
using OnlineStore;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DeviceLibrary
{
public partial class FixtureSizeConfigControl : UserControl
{
public FixtureSizeConfigControl()
{
InitializeComponent();
if (DesignMode)
return;
this.Tag = "not";
crc.OpenResourceLog = true;
crc.LanguageChangeEvent += (s, o) => crc.LanguageProcess(this);
crc.CurrLanguage = Setting_Init.Device_Default_Language;
}
private void FixtureSizeConfigControl_Load(object sender, EventArgs e)
{
RefreshList();
}
void RefreshList() {
listBox1.Items.Clear();
FixtureConfig.FixtureConfigList.ForEach(fc =>
{
listBox1.Items.Add(fc);
});
crc.LanguageProcess(this);
}
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox_startcode.Text))
{
MessageBox.Show(crc.GetString("Res0194","条码首字母不能为空"));
return;
}
FixtureConfig fixtureConfig = new FixtureConfig();
fixtureConfig.StartCode = textBox_startcode.Text.Trim();
fixtureConfig.Width = (int)num_width.Value;
fixtureConfig.Height = (int)num_height.Value;
fixtureConfig.UseActualHeight = checkBox_fixtureheight.Checked;
fixtureConfig.ActualHeight = (int)num_actualheight.Value;
fixtureConfig.AbandonCode = checkBox_useedremove.Checked;
FixtureConfig.Add(fixtureConfig);
RefreshList();
}
private void button2_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex < 0) {
return;
}
var fc = (FixtureConfig)listBox1.SelectedItem;
FixtureConfig.Del(fc);
RefreshList();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex < 0)
return;
var fixtureConfig = (FixtureConfig)listBox1.SelectedItem;
textBox_startcode.Text = fixtureConfig.StartCode;
num_width.Value = fixtureConfig.Width;
num_height.Value = fixtureConfig.Height;
checkBox_fixtureheight.Checked = fixtureConfig.UseActualHeight;
num_actualheight.Value = fixtureConfig.ActualHeight;
checkBox_useedremove.Checked = fixtureConfig.AbandonCode;
}
}
public class FixtureConfig {
public string StartCode;
public int Width;
public int Height;
public bool UseActualHeight;
public int ActualHeight;
public bool AbandonCode;
public override string ToString()
{
return $"[{StartCode}]={Width}x{Height}"+ (UseActualHeight?$", "+crc.GetString("Res0195","实测厚度")+$":{ActualHeight}":"") + (AbandonCode? ", "+crc.GetString("Res0196","自动弃用") : "");
}
public static bool GetFixtureHeight(int poswidth,int posheight, out int FixtureHeight) {
FixtureHeight = 0;
var fcc = FixtureConfigList.Find(fc => fc.Width == poswidth && fc.Height == posheight);
if (fcc == null)
return false;
if (!fcc.UseActualHeight)
return false;
FixtureHeight = fcc.ActualHeight;
return true;
}
public static List<FixtureConfig> FixtureConfigList = new List<FixtureConfig>();
static FixtureConfig() {
if (!File.Exists("Config\\FixtureConfig.json"))
return;
try {
var fx = File.ReadAllText("Config\\FixtureConfig.json");
FixtureConfigList = JsonConvert.DeserializeObject<List<FixtureConfig>>(fx);
} catch { }
}
public static void Add(FixtureConfig fixtureConfig) {
var fcc = FixtureConfigList.FindIndex(fc => fc.StartCode == fixtureConfig.StartCode);
if (fcc <0)
FixtureConfigList.Add(fixtureConfig);
else
FixtureConfigList[fcc] = fixtureConfig;
Save();
}
public static void Del(FixtureConfig fixtureConfig) {
var fcc = FixtureConfigList.FindIndex(fc => fc.StartCode == fixtureConfig.StartCode);
if (fcc < 0)
return;
else
FixtureConfigList.RemoveAt(fcc);
Save();
}
public static void Save() {
File.WriteAllText("Config\\FixtureConfig.json", JsonConvert.SerializeObject(FixtureConfigList));
}
}
}