1

我們使用Syncfusion框架Essential Studio中的EditControl(來自工具箱的組件)編寫小型代碼編輯器。 我們希望在按下快捷鍵CTRL + SPACE後彈出自動完成窗口,而無需在EditorWindow中鍵入空格字符。Syncfusion - 按下快捷鍵後沒有空格字符「CTRL」+「SPACE」

有什麼辦法可以禁用在EditControl中輸入字符嗎?

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

你嘗試過'e.Handled = true'嗎? –

回答

1

可以建立,這將阻止你需要套住KeyDown事件的控制範圍之內的鍵綁定。

例如,創建一些Sub,你配置控制(在我的例子稱爲Editor)的性能,並添加這些行:

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

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

檢查安裝此功能的工作示例。選擇安裝樣本是一個好主意,因爲它們非常全面。

+0

感謝您的回覆,並舉例說明如何使用綁定來實現。 但它仍然在文本字段中輸入空格字符。 – Chris

相關問題