private void DeleteButton_Click(object sender, EventArgs e)
        {
            if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification))
            {
                EquipmentBase equip     = (EquipmentBase)entryItems[0];
                EquipmentBase prevEquip = equip.Clone();

                // 削除する
                List <EquipmentBase> equipList = new List <EquipmentBase>();
                if (File.Exists(saveDir + userId + "_" + saveEquipFile))
                {
                    equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile));
                }
                if (updateMode)
                {
                    string itemName = prevEquip.Name;
                    string ability  = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility);
                    equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First());
                }
                File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList));
            }
            else
            {
                if (MessageBox.Show("以下全て削除されます!", "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    string updateItemName = entryItems[0].Name;

                    // 削除する
                    List <Item> itemList = new List <Item>();
                    if (File.Exists(saveDir + userId + "_" + saveItemFile))
                    {
                        itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile));
                    }
                    if (updateMode)
                    {
                        itemList.RemoveAll(x => x.Name == updateItemName);
                    }
                    File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList));
                }
                else
                {
                    return;
                }
            }
            this.Hide();
        }
        private void EntryButton_Click(object sender, EventArgs e)
        {
            int index = 0;

            if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification))
            {
                EquipmentBase equip     = (EquipmentBase)entryItems[0];
                EquipmentBase prevEquip = equip.Clone();

                Control[] control = this.Controls.Find("nameComboBox" + index, true);
                equip.Name = ((ComboBox)control[0]).SelectedItem.ToString();
                index++;

                control = this.Controls.Find("nameComboBox" + index, true);
                equip.Classification = ((ComboBox)control[0]).SelectedItem.ToString();
                index++;

                control           = this.Controls.Find("nameTextBox" + index, true);
                equip.Description = ((TextBox)control[0]).Text;
                index            += 3;

                control      = this.Controls.Find("itemCountNum" + index, true);
                equip.Refine = (int)((NumericUpDown)control[0]).Value;
                index++;

                control            = this.Controls.Find("itemCountNum" + index, true);
                equip.RequireLevel = (int)((NumericUpDown)control[0]).Value;
                index += 2;

                for (int i = 0; i < equip.BasicAbility.Count; i++)
                {
                    control = this.Controls.Find("nameComboBox" + index, true);
                    equip.BasicAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString();
                    index++;
                }

                for (int i = 0; i < equip.RefineAbility.Count; i++)
                {
                    control = this.Controls.Find("nameComboBox" + index, true);
                    equip.RefineAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString();
                    index++;
                }

                for (int i = 0; i < equip.SpecialAbility.Count; i++)
                {
                    control = this.Controls.Find("nameComboBox" + index, true);
                    equip.SpecialAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString();
                    index++;
                }
                equip.AbilityList = equip.AbilityCalc(equip.BasicAbility.Concat(equip.RefineAbility).Concat(equip.SpecialAbility).ToList());
                equip.Screenshot  = Utility.SerializeBitmap(new Bitmap(imageFileName));

                // 登録する
                List <EquipmentBase> equipList = new List <EquipmentBase>();
                if (File.Exists(saveDir + userId + "_" + saveEquipFile))
                {
                    equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile));
                }
                if (updateMode)
                {
                    string itemName = prevEquip.Name;
                    string ability  = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility);
                    equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First());
                }
                equipList.Add(equip);
                File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList));
            }
            else
            {
                List <Item> entryItemData  = new List <Item>();
                string      updateItemName = entryItems[0].Name;
                for (int i = 0; i < entryItems.Count; i++)
                {
                    Control[] control = this.Controls.Find("nameComboBox" + index, true);
                    entryItems[i].Name = ((ComboBox)control[0]).SelectedItem.ToString();

                    control             = this.Controls.Find("itemCountNum" + index, true);
                    entryItems[i].count = (int)((NumericUpDown)control[0]).Value;
                    entryItemData.Add((Item)entryItems[i]);
                    index++;
                }

                // 登録する
                List <Item> itemList = new List <Item>();
                if (File.Exists(saveDir + userId + "_" + saveItemFile))
                {
                    itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile));
                }
                if (updateMode)
                {
                    itemList.RemoveAll(x => x.Name == updateItemName);
                }
                itemList.AddRange(entryItemData);
                File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList));
            }
            this.Hide();
        }