protected override bool ProcessTextAreaKey(Keys keyData)
        {
            if (!Visible)
            {
                return(false);
            }

            switch (keyData)
            {
            case Keys.Home:
                codeCompletionListView.SelectIndex(0);
                return(true);

            case Keys.End:
                codeCompletionListView.SelectIndex(completionData.Length - 1);
                return(true);

            case Keys.PageDown:
                codeCompletionListView.PageDown();
                return(true);

            case Keys.PageUp:
                codeCompletionListView.PageUp();
                return(true);

            case Keys.Down:
                codeCompletionListView.SelectNextItem();
                return(true);

            case Keys.Up:
                codeCompletionListView.SelectPrevItem();
                return(true);

            case Keys.Tab:
                InsertSelectedItem('\t');
                return(true);

            case Keys.Return:
                InsertSelectedItem('\n');
                return(true);
            }
            return(base.ProcessTextAreaKey(keyData));
        }