/// <summary> /// 変更 /// </summary> protected void btnEdit_Click(object sender, EventArgs e) { if (this.ltvList.SelectedIndices.Count > 0) { var newItem = new ListViewItem(""); var eArgs = new RequestAddItemEventArgs(newItem, true); this.RequestAddItem?.Invoke(this, eArgs); //新しい項目を取得し、適用できるか調べる if (eArgs.Canceled) { return; //適用できない場合 } else if (!this.AllowOverlap) { //左端の列テキストで重複チェック foreach (ListViewItem item in this.ltvList.Items) { if (item.Text == newItem.Text && this.ltvList.SelectedItems[0] != item) { MessageBox.Show(Resources.MsgE_ForbidOverlap.Replace("$", "項目"), Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } //変更処理 this.ltvList.Items[this.ltvList.SelectedIndices[0]] = newItem; this.ltvList.Focus(); this.ListChanged?.Invoke(this, null); } }
/// <summary> /// 追加 /// </summary> protected void btnAdd_Click(object sender, EventArgs e) { var newItem = new ListViewItem(""); var eArgs = new RequestAddItemEventArgs(newItem, false); this.RequestAddItem?.Invoke(this, eArgs); //新しい項目を取得し、適用できるか調べる if (eArgs.Canceled) { //適用できない場合 return; } else if (!this.AllowOverlap) { //重複を許さない場合、左端の列テキスト (FixedIDを表示する場合はFixedID) で重複チェック foreach (ListViewItem item in this.ltvList.Items) { if (item.Text == newItem.Text) { MessageBox.Show(Resources.MsgE_ForbidOverlap.Replace("$", "項目"), Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } //追加処理 this.ltvList.Items.Add(newItem); this.ltvList.SelectedIndices.Clear(); this.RequestClearListEditorSource(this, null); //ソース入力欄を初期化 this.RequestWatchControls(this, null); this.ListChanged?.Invoke(this, null); }