Syncfusion - 按下快捷键后没有空格字符“CTRL”+“SPACE”

问题描述:

我们使用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'吗? –

可以建立,这将阻止你需要套住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