1

Wir verwenden EditControl (Komponente aus der Toolbox) von Syncfusion Framework Essential Studio, um einen kleinen Code-Editor zu schreiben. Wir möchten das Auto-Vervollständigen-Fenster nach Drücken der Tastenkombination CTRL + SPACE öffnen, ohne das Leerzeichen in das EditorWindow einzugeben.Syncfusion - No Space-Char nach dem Drücken der Tastenkombinationen "STRG" + "SPACE"

Gibt es eine Möglichkeit, die Eingabe von Zeichen in das EditControl zu deaktivieren?

Private Sub editControl1_KeyDown(sender As Object, e As KeyEventArgs) 
     If e.Control Then 
     ' Do something here 
      If e.KeyCode = Keys.Space Then 
       EditControl1.ShowContextChoice() 
       Dim context = EditControl1.ContextChoiceController 
       For Each item As IConfigLexem In lexeme 
        context.Items.Add((item).BeginBlock, CStr(m_MethodComments(item.ID)), Me.EditControl1.ContextChoiceController.Images("Image" & item.FormatName)) 
       Next 
      End If 
     End If 
    End Sub 
+0

Haben Sie "e.Handled = true" probiert? –

Antwort

1

Sie können Tastenbelegungen innerhalb der Steuer Set-up, die Sie zu stoppen, die KeyDown Ereignis benötigt wird verhindern.

Erstellen Sie zum Beispiel einige Sub dem Sie die Eigenschaften des Steuer Konfiguration (Editor in meinem Beispiel genannt) und fügen Sie die folgenden Zeilen:

AddHandler Editor.Commands.Add("Editor.ContextChoice").ProcessCommand, AddressOf Editor.ShowContextChoice 

Editor.KeyBinder.BindToCommand(Keys.Control Or Keys.Space, "Editor.ContextChoice") 

Überprüfen Sie für ein funktionierendes Beispiel für diese Funktionalität installieren. Es empfiehlt sich, die Muster so zu installieren, dass sie sehr umfangreich sind.

+0

Vielen Dank für Ihre Antwort und das Beispiel, wie man das mit Bindings macht. Aber es gibt immer noch das Leerzeichen in das Textfeld ein. – Chris