public virtual void OnKeyUp(KeyEventArgs e)
        {
            RadDropDownListEditorElement editorElement = this.EditorElement as RadDropDownListEditorElement;

            if (editorElement == null || !editorElement.IsInValidState(true))
            {
                return;
            }
            bool flag   = editorElement.DropDownStyle == RadDropDownStyle.DropDown;
            int  length = editorElement.Text.Length;

            switch (e.KeyCode)
            {
            case Keys.Left:
                if (flag && (!this.RightToLeft || this.selectionStart != length) && (this.RightToLeft || this.selectionStart != 0))
                {
                    break;
                }
                base.OnKeyDown(e);
                break;

            case Keys.Right:
                if (flag && (!this.RightToLeft || this.selectionStart != 0) && (this.RightToLeft || this.selectionStart != length))
                {
                    break;
                }
                base.OnKeyDown(e);
                break;
            }
        }
        public override void OnKeyDown(KeyEventArgs e)
        {
            RadDropDownListEditorElement editorElement = this.EditorElement as RadDropDownListEditorElement;

            if (editorElement == null || !editorElement.IsInValidState(true))
            {
                return;
            }
            this.selectionStart = editorElement.SelectionStart;
            if (e.KeyCode == Keys.Return && e.Modifiers != Keys.Control)
            {
                base.OnKeyDown(e);
            }
            else if (e.KeyCode == Keys.Escape)
            {
                base.OnKeyDown(e);
                e.Handled = true;
            }
            else
            {
                if (e.KeyCode != Keys.Left && e.KeyCode != Keys.Right || editorElement.DropDownStyle != RadDropDownStyle.DropDownList)
                {
                    return;
                }
                e.Handled = true;
            }
        }