Ejemplo n.º 1
0
        // keys
        private void codeTextbox_BeforeKeyDown(object sender, KeyEventArgs e)
        {
            if (TextFile == null)
            {
                return;
            }

            if (snippet != null)
            {
                snippet.BeforeKeyDown(sender, e, autoCompleteForm);
            }

            if (e.KeyCode == Keys.Space && e.Modifiers == Keys.Shift)
            { // open auto select menu
                e.Handled = true;
                closeAutoComplete();
                openToolSelectionForm();
                return;
            }

            if (e.KeyCode == Keys.Space && e.Modifiers == Keys.Control)
            { // force open auto complete
                openAutoComplete();
                e.Handled = true;
                return;
            }

            if (autoCompleteForm == null || autoCompleteForm.Visible == false)
            {
                TextFile.BeforeKeyDown(e);
                return;
            }

            // autoComplete form handle
            switch (e.KeyCode)
            {
            case Keys.Up:
                autoCompleteForm.MoveUp();
                e.Handled = true;
                break;

            case Keys.Down:
                autoCompleteForm.MoveDown();
                e.Handled = true;
                break;

            case Keys.Tab:
            case Keys.Return:
                applyAutoCompleteSelection(e);
                e.Handled = true;
                break;

            case Keys.OemPeriod:
            case Keys.Space:
                applyAutoCompleteSelection(e);
                break;

            case Keys.Escape:
                autoCompleteForm.Visible = false;
                break;

//                case Keys.Delete:
//                case Keys.Back:
//                    openAutoComplete();
//                    checkAutoComplete();
            //                    autoCompleteForm.Visible = false;
            //                   break;
            default:
                break;
            }

            if (snippet != null)
            {
                snippet.AfterAutoCompleteHandled(sender, e, autoCompleteForm);
            }
        }