1

мы используем Syncfusion Essential Studio для оконных форм. В настоящий момент iam работает над небольшим редактором кода для pascal, который использует EditControl. Функция IntelliSense, как функция автозаполнения, открывается после ввода только что определенных лексем (например. ".") И дает нам все определенные Методы нашего API. Ничего страшного.Syncfusion (Essential Studio) - автозаполнение открыто после CTRL + SPACE (кнопки)

Но нам нужно, чтобы открыть диалоговое окно автозаполнения после только нажатия кнопки CTRL +ПРОСТРАНСТВА и показывая нам все методы API, независимо от того, мы набрали лексему или нет. Поскольку это Pascal без ООП, это единственный способ, который имеет смысл.

Как это возможно?

Greez Chris

ответ

1

Запрос: Как открыть выбор контекста после нажатия STRG + Space?

Пожалуйста, использование ниже код и образец для открытого списка ContextChoice после STRG + Space

Code [C#]: 

    // Adds "<?" word processing for global context. 
    ConfigLexem lexemId = GetConfigLexem((IConfigLexem)editControl1.Language, "STRG"); 

lexemId.Type = FormatType.Text; 



// "<?" starts it`s own context. It does not have EndBlock specified, so the first unprocessed token will force parser to exit from "this"'s context. 

    lexemId.IsComplex = true;  

    //To open the Context Choice after space 
    ConfigLexem lexemQues = GetConfigLexem((IConfigLexem)lexemId, " "); 
    lexemQues.Type = FormatType.Operator; 
    // "?" can drop context choice list 
    lexemQues.DropContextChoiceList = true; 
    lexemQues.IsComplex = true; 


Code[VB]: 

    ' Adds "<?" word processing for global context. 

Dim lexemId As ConfigLexem = GetConfigLexem(CType(editControl1.Language, IConfigLexem), "STRG") 

    lexemId.Type = FormatType.Text 

    ' "<?" starts it`s own context. It does not have EndBlock specified, so the first unprocessed token will force parser to exit from "this"'s context. 

    lexemId.IsComplex = True 

    'To open the Context Choice after space 
    Dim lexemQues As ConfigLexem = GetConfigLexem(CType(lexemId, IConfigLexem), `enter code here`" ") 
    lexemQues.Type = FormatType.Operator 
    ' "?" can drop context choice list 
    lexemQues.DropContextChoiceList = True 
    lexemQues.IsComplex = True 

Образец C#: http://www.syncfusion.com/downloads/support/directtrac/general/ze/EditControl_Intellisense1331161585

Образец VB: http://www.syncfusion.com/downloads/support/directtrac/general/ze/EditControlVb-143548194

Примечание: Я работаю Syncfusion

+0

Возможно, я написал это немного ошибочно, потому что я написал «STRG» вместо «CTRL». Что мы хотим, так это открыть контекстную таблицу после нажатия кнопок ** **: _CTRL_ + _SPACE_. Как и в VS. Не набрав строку «STRG» или «CTRL». (отредактировал вопрос) – Chris

+0

Просто напоминание, потому что ответ получил уже 2 upvotes. Вышеуказанный ответ ** неправильный **. – Chris

+0

@ Крис, каков правильный ответ, если вы не против поделиться им? – NoChance

Смежные вопросы