private void textBox2_KeyDown_1(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { var tagText = txtTag.Text; var newTagLabel = new Label(); newTagLabel.Text = tagText; var deleteButton = new Button(); deleteButton.Text = "X"; deleteButton.Click += (_, __) => { try { var removedData = _tagList .FirstOrDefault(x => x.Control == newTagLabel); if (removedData != null) { _tagList.Remove(removedData); Controls.Remove(newTagLabel); Controls.Remove(deleteButton); RefreshTagList(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }; TagControlData tagData = new TagControlData(); tagData.TagText = tagText; tagData.Control = newTagLabel; tagData.DeleteButton = deleteButton; /*tagPanel.Controls.Add(newTagLabel); * tagPanel.Controls.Add(deleteButton); */ _tagList.Add(tagData); RefreshTagList(); txtTag.Text = ""; } }
/*private void InsertData() * { * _tagList = * }*/ private void UpdateView(DiaryData diaryData) { dateTimePicker1.Value = diaryData.Date; txtTitle.Text = diaryData.Title; string decrypted = diaryData.Content; if (diaryData.Encrypted == true) { var bytes = decrypted.Split(',') .Select(x => (byte)int.Parse(x)) .ToArray(); decrypted = Encryptor.DecryptStringFromBytes(bytes, diaryData.key, diaryData.iv); } txtContents.Text = decrypted; _tagTexts = diaryData.Tags; int index = 0; foreach (string tagText in _tagTexts) { Label label = new Label(); label.Text = tagText; Button button = new Button(); button.Text = "X"; // x버튼 누를 시 삭제 추가 TagControlData ControlData = new TagControlData(); ControlData.Control = label; ControlData.DeleteButton = button; ControlData.Index = index; ControlData.TagText = tagText; _tagList.Add(ControlData); index++; } #region Tags #region Remove tag Controls RefreshTagList(); /* foreach (var tagData in _tagData) * { * Controls.Remove(tagData.Control); * Controls.Remove(tagData.DeleteButton); * } */ #endregion /*#region Create tag Controls * _tagList = diaryData.Tags.Select((x, i) => new TagControlData * { * Index = i, * TagText = x, * Control = new Label { Text = x }, * DeleteButton = new Button { Text = "X" } * }).ToList(); //리스트 불러오기 * #endregion*/ #endregion }