Example #1
0
        /// <summary>
        ///     項目の真偽値を反転させる
        /// </summary>
        /// <param name="flag">初期真偽値</param>
        private void InvertFlag(bool flag)
        {
            ListViewItemEditEventArgs ie = new ListViewItemEditEventArgs(_editingRowIndex, _editingColumnIndex, !flag);

            BeforeItemEdit?.Invoke(this, ie);

            // キャンセルされれば項目を更新しない
            if (ie.Cancel)
            {
                return;
            }

            AfterItemEdit?.Invoke(this, ie);
        }
Example #2
0
        /// <summary>
        ///     リスト編集時の処理
        /// </summary>
        private void OnListFinishEdit(object sender, CancelEventArgs e)
        {
            InlineComboBox comboBox = sender as InlineComboBox;

            if (comboBox == null)
            {
                return;
            }
            string s     = comboBox.Text;
            int    index = comboBox.SelectedIndex;

            // イベントハンドラを削除する
            comboBox.FinishEdit -= OnListFinishEdit;

            // 編集用コンボボックスを削除する
            Controls.Remove(comboBox);

            // キャンセルされれば項目を更新しない
            if (e.Cancel)
            {
                return;
            }

            ListViewItem item = Items[_editingRowIndex];

            ListViewItem.ListViewSubItem subItem = item.SubItems[_editingColumnIndex];

            ListViewItemEditEventArgs ie = new ListViewItemEditEventArgs(_editingRowIndex, _editingColumnIndex, s, index);

            BeforeItemEdit?.Invoke(this, ie);

            // キャンセルされれば項目を更新しない
            if (ie.Cancel)
            {
                return;
            }

            // 項目の文字列を更新する
            subItem.Text = comboBox.Items[index].ToString();

            AfterItemEdit?.Invoke(this, ie);
        }
Example #3
0
        /// <summary>
        ///     文字列編集時の処理
        /// </summary>
        private void OnTextFinishEdit(object sender, CancelEventArgs e)
        {
            InlineTextBox textBox = sender as InlineTextBox;

            if (textBox == null)
            {
                return;
            }
            string text = textBox.Text;

            // イベントハンドラを削除する
            textBox.FinishEdit -= OnTextFinishEdit;

            // 編集用テキストボックスを削除する
            Controls.Remove(textBox);

            // キャンセルされれば項目を更新しない
            if (e.Cancel)
            {
                return;
            }

            ListViewItem item = Items[_editingRowIndex];

            ListViewItem.ListViewSubItem subItem = item.SubItems[_editingColumnIndex];

            ListViewItemEditEventArgs ie = new ListViewItemEditEventArgs(_editingRowIndex, _editingColumnIndex,
                                                                         textBox.Text);

            BeforeItemEdit?.Invoke(this, ie);

            // キャンセルされれば項目を更新しない
            if (ie.Cancel)
            {
                return;
            }

            // 項目の文字列を更新する
            subItem.Text = text;

            AfterItemEdit?.Invoke(this, ie);
        }