1

Syncfusion フレームワーク Essential Studio の EditControl (ツールボックスのコンポーネント) を使用して、小さなコード エディターを記述します。EditorWindow にスペース文字を入力せずに、ショートカット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
4

1 に答える 1

1

KeyDownイベントをトラップする必要がないように、コントロール内でキー バインディングを設定できます。

たとえばSub、コントロールのプロパティを構成する場所をいくつか作成し (Editor私の例では呼び出されます)、次の行を追加します。

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

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

この機能の実際の例については、インストールを確認してください。サンプルは非常に包括的であるため、サンプルをインストールすることを選択することをお勧めします。

于 2016-06-13T12:42:11.617 に答える