WorkflowDesignerMessageFilter.OnKeyDown(KeyEventArgs) メソッド

定義

キーが押されたときに発生します。

protected:
 virtual bool OnKeyDown(System::Windows::Forms::KeyEventArgs ^ eventArgs);
protected virtual bool OnKeyDown (System.Windows.Forms.KeyEventArgs eventArgs);
abstract member OnKeyDown : System.Windows.Forms.KeyEventArgs -> bool
override this.OnKeyDown : System.Windows.Forms.KeyEventArgs -> bool
Protected Overridable Function OnKeyDown (eventArgs As KeyEventArgs) As Boolean

パラメーター

eventArgs
KeyEventArgs

イベントに関する情報を格納している KeyEventArgs

戻り値

メッセージが処理される場合は true。それ以外の場合は false

OnKeyDown メソッドをオーバーライドしてワークフロー デザイン サーフェイスからのアクティビティの削除の仕方をカスタマイズする方法を、次のコード例に示します。

このコード例は、DesignerShell.cs ファイルから抜粋した Basic Designer Hosting の SDK サンプルの一部です。 詳細については、「基本的なDesignerホスティング」を参照してください。

protected override bool OnKeyDown(KeyEventArgs eventArgs)
{
    if (eventArgs.KeyCode == Keys.Delete)
    {
        ISelectionService selectionService = (ISelectionService)serviceProvider.GetService(typeof(ISelectionService));
        if (selectionService != null && selectionService.PrimarySelection is CodeActivity)
        {
            CodeActivity codeActivityComponent = (CodeActivity)selectionService.PrimarySelection;
            CompositeActivity parentActivity = codeActivityComponent.Parent;
            if (parentActivity != null)
            {
                parentActivity.Activities.Remove(codeActivityComponent);
                this.ParentView.Update();
            }
            loader.RemoveActivityFromDesigner(codeActivityComponent);
        }
    }
    return true;
}
Protected Overrides Function OnKeyDown(ByVal eventArgs As KeyEventArgs) As Boolean
    If eventArgs.KeyCode = Keys.Delete Then
        Dim selectionService As ISelectionService = CType(serviceProvider.GetService(GetType(ISelectionService)), ISelectionService)
        If selectionService IsNot Nothing AndAlso TypeOf selectionService.PrimarySelection Is CodeActivity Then
            Dim codeActivityComponent As CodeActivity = CType(selectionService.PrimarySelection, CodeActivity)
            Dim parentActivity As CompositeActivity = codeActivityComponent.Parent
            If parentActivity IsNot Nothing Then
                parentActivity.Activities.Remove(codeActivityComponent)
                Me.ParentView.Update()
            End If
            loader.RemoveActivityFromDesigner(codeActivityComponent)
        End If
    End If
    Return True
End Function

注釈

OnKeyDown は、特定のオブジェクトにフォーカスがあるときにキーが押されると発生します。

適用対象

こちらもご覧ください