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
答
可以建立,这将阻止你需要套住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
你尝试过'e.Handled = true'吗? –