WorkflowDesignerMessageFilter Classe

Definição

Cuidado

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Fornece uma classe base para todos os filtros de mensagem de fluxo de trabalho.

public ref class WorkflowDesignerMessageFilter abstract : IDisposable
public abstract class WorkflowDesignerMessageFilter : IDisposable
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowDesignerMessageFilter : IDisposable
type WorkflowDesignerMessageFilter = class
    interface IDisposable
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowDesignerMessageFilter = class
    interface IDisposable
Public MustInherit Class WorkflowDesignerMessageFilter
Implements IDisposable
Herança
WorkflowDesignerMessageFilter
Atributos
Implementações

Exemplos

O exemplo de código a seguir mostra um filtro de mensagem de designer personalizado derivado de WorkflowDesignerMessageFilter. A classe, chamada CustomMessageFilter, substitui vários de seus métodos de classe base, incluindo OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClick, OnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, OnDragOvere OnKeyDown.

Este exemplo de código faz parte do Exemplo básico do SDK de hospedagem de Designer do arquivo DesignerShell.cs. Para obter mais informações, consulte Hospedagem básica de Designer.

internal sealed class CustomMessageFilter : WorkflowDesignerMessageFilter
{
    #region Members and Constructor

    private bool mouseDown;
    private IServiceProvider serviceProvider;
    private WorkflowView workflowView;
    private WorkflowDesignerLoader loader;

    public CustomMessageFilter(IServiceProvider provider, WorkflowView workflowView, WorkflowDesignerLoader loader)
    {
        this.serviceProvider = provider;
        this.workflowView = workflowView;
        this.loader = loader;
    }

    #endregion

    #region MessageFilter Overridables

    protected override bool OnMouseDown(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        this.mouseDown = true;
        return false;
    }

    protected override bool OnMouseMove(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        if (mouseDown)
        {
            workflowView.ScrollPosition = new Point(eventArgs.X, eventArgs.Y);
        }
        return false;
    }

    protected override bool OnMouseUp(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseDoubleClick(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseEnter(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseHover(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseLeave()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseWheel(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseCaptureChanged()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnDragEnter(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragOver(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragLeave()
    {
        return true;
    }

    protected override bool OnDragDrop(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnGiveFeedback(GiveFeedbackEventArgs gfbevent)
    {
        return true;
    }

    protected override bool OnQueryContinueDrag(QueryContinueDragEventArgs qcdevent)
    {
        return true;
    }

    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 override bool OnKeyUp(KeyEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnShowContextMenu(Point menuPoint)
    {
        return true;
    }

    #endregion
}
    Friend NotInheritable Class CustomMessageFilter
        Inherits WorkflowDesignerMessageFilter

#Region "Members and Constructor"

        Private mouseDown As Boolean
        Private serviceProvider As IServiceProvider
        Private workflowView As WorkflowView
        Private loader As WorkflowDesignerLoader

        Public Sub New(ByVal provider As IServiceProvider, ByVal workflowView As WorkflowView, ByVal loader As WorkflowDesignerLoader)
            Me.serviceProvider = provider
            Me.workflowView = workflowView
            Me.loader = loader
        End Sub

#End Region

#Region "WorkflowDesignerMessageFilter Overridables"

        Protected Overrides Function OnMouseDown(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = True
            Return False
        End Function

        Protected Overrides Function OnMouseMove(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            If mouseDown Then
                workflowView.ScrollPosition = New Point(eventArgs.X, eventArgs.Y)
            End If
            Return False
        End Function

        Protected Overrides Function OnMouseUp(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseDoubleClick(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseEnter(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseHover(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseLeave() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseWheel(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseCaptureChanged() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnDragEnter(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragOver(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragLeave() As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragDrop(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnGiveFeedback(ByVal gfbevent As GiveFeedbackEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnQueryContinueDrag(ByVal qcdevent As QueryContinueDragEventArgs) As Boolean
            Return True
        End Function

        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

        Protected Overrides Function OnKeyUp(ByVal eventArgs As KeyEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnShowContextMenu(ByVal menuPoint As Point) As Boolean
            Return True
        End Function

#End Region

    End Class

Comentários

Observação

Este material discute tipos e namespaces obsoletos. Para obter mais informações, consulte Deprecated Types in Windows Workflow Foundation 4.5 (Tipos preteridos no Windows Workflow Foundation 4.5).

O designer de fluxo de trabalho fornece um Strategy padrão de design para criar objetos de filtro de mensagem substituíveis para manipular eventos.

Derive da WorkflowDesignerMessageFilter classe para criar filtros de mensagem que podem responder a eventos de designer de fluxo de trabalho, como operações de arrastar, operações de layout e pintura e outros eventos de designer. Para adicionar um filtro de mensagem personalizado à cadeia de filtros de mensagem, chame o AddDesignerMessageFilter no WorkflowView ou substitua a MessageFilters propriedade virtual na atividade raiz personalizada e adicione o filtro de mensagem personalizado à coleção retornada da classe base.

Construtores

WorkflowDesignerMessageFilter()
Obsoleto.

Quando implementado em uma classe derivada, inicializa uma instância de um WorkflowDesignerMessageFilter.

Propriedades

MessageHitTestContext
Obsoleto.

Obtém a HitTestInfo que descreve o contexto do WorkflowDesignerMessageFilter.

ParentView
Obsoleto.

Obtém a WorkflowView que está associada ao WorkflowDesignerMessageFilter.

Métodos

Dispose()
Obsoleto.

Libera os recursos usados pelo WorkflowDesignerMessageFilter.

Dispose(Boolean)
Obsoleto.

Libera os recursos não gerenciados usados pelo WorkflowDesignerMessageFilter e opcionalmente libera os recursos gerenciados.

Equals(Object)
Obsoleto.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()
Obsoleto.

Tenta liberar recursos chamando Dispose(false) antes que o objeto seja recuperado pela coleta de lixo.

GetHashCode()
Obsoleto.

Serve como a função de hash padrão.

(Herdado de Object)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(WorkflowView)
Obsoleto.

Inicializa o WorkflowDesignerMessageFilter com a WorkflowView associada.

MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnDragDrop(DragEventArgs)
Obsoleto.

Ocorre quando o botão do mouse é liberado em cima de um objeto durante uma operação de arrastar.

OnDragEnter(DragEventArgs)
Obsoleto.

Ocorre quando o ponteiro do mouse entra nos limites de um objeto durante uma operação de arrastar.

OnDragLeave()
Obsoleto.

Ocorre quando o ponteiro do mouse sai dos limites de um objeto durante uma operação de arrastar.

OnDragOver(DragEventArgs)
Obsoleto.

Ocorre quando o ponteiro do mouse é movido para dentro dos limites de um objeto durante uma operação de arrastar.

OnGiveFeedback(GiveFeedbackEventArgs)
Obsoleto.

Ocorre durante uma operação de arrastar.

OnKeyDown(KeyEventArgs)
Obsoleto.

Ocorre quando uma tecla é pressionada.

OnKeyUp(KeyEventArgs)
Obsoleto.

Ocorre quando uma tecla é liberada.

OnLayout(LayoutEventArgs)
Obsoleto.

Ocorre quando objetos filhos precisam ser reposicionados.

OnMouseCaptureChanged()
Obsoleto.

Ocorre quando os itens selecionados ao arrastar o mouse são alterados.

OnMouseDoubleClick(MouseEventArgs)
Obsoleto.

Ocorre ao clicar duas vezes com o mouse.

OnMouseDown(MouseEventArgs)
Obsoleto.

Ocorre quando um botão do mouse é clicado.

OnMouseEnter(MouseEventArgs)
Obsoleto.

Ocorre quando o ponteiro do mouse entra nos limites de um objeto.

OnMouseHover(MouseEventArgs)
Obsoleto.

Ocorre quando o ponteiro do mouse permanece em pausa em cima de um objeto.

OnMouseLeave()
Obsoleto.

Ocorre quando o ponteiro do mouse sai dos limites de um objeto.

OnMouseMove(MouseEventArgs)
Obsoleto.

Ocorre quando o ponteiro do mouse é movido enquanto está dentro dos limites de um objeto.

OnMouseUp(MouseEventArgs)
Obsoleto.

Ocorre quando o botão do mouse é liberado.

OnMouseWheel(MouseEventArgs)
Obsoleto.

Ocorre quando o botão de rolagem do mouse é movido.

OnPaint(PaintEventArgs, Rectangle, AmbientTheme)
Obsoleto.

Ocorre quando uma mensagem de pintura é recebida.

OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)
Obsoleto.

Ocorre quando o fluxo de trabalho deve ser pintar seus adornos novamente.

OnQueryContinueDrag(QueryContinueDragEventArgs)
Obsoleto.

Ocorre durante uma operação de arrastar.

OnScroll(ScrollBar, Int32)
Obsoleto.

Ocorre quando o usuário rola em um designer de fluxo de trabalho.

OnShowContextMenu(Point)
Obsoleto.

Ocorre quando o fluxo de trabalho precisa mostrar um menu de contexto.

OnThemeChange()
Obsoleto.

Ocorre quando o tema do fluxo de trabalho é alterado.

ProcessMessage(Message)
Obsoleto.

Ocorre quando uma mensagem bruta do Win32 precisa ser processada.

ToString()
Obsoleto.

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também