public void EmulateCommandEntry(string word)
 {
     if (CommandEntered != null)
     {
         AppendText(word);
         CommandEnteredEventArgs _e = new CommandEnteredEventArgs(word);
         CommandEntered(this, _e);
         if (!_e.Handled)
         {
             insertTermination();
         }
     }
 }
        private void _handleKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (_lastEditablePos > this.SelectionStart)
                {
                    this.SelectionStart = this.TextLength;
                }
                string word = this.Text.Substring(_lastEditablePos, this.SelectionStart - _lastEditablePos);
                if (CommandEntered != null)
                {
                    CommandEnteredEventArgs _e = new CommandEnteredEventArgs(word);
                    CommandEntered(this, _e);
                    if (!_e.Handled)
                    {
                        insertTermination();
                    }
                    e.Handled = _e.SuppressEnter;
                }
                else
                {
                    insertTermination();
                }
                _lastEditablePos = this.TextLength;

            }
            else if (isModifyingKey(e) && (_lastEditablePos > this.SelectionStart))
            {
                e.SuppressKeyPress = true;
            }
        }