WorkflowDesignerMessageFilter Klasa

Definicja

Przestroga

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

Udostępnia klasę podstawową dla wszystkich filtrów komunikatów przepływu pracy.

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
Dziedziczenie
WorkflowDesignerMessageFilter
Atrybuty
Implementuje

Przykłady

Poniższy przykład kodu przedstawia filtr komunikatów projektanta niestandardowego, który pochodzi z WorkflowDesignerMessageFilterelementu . Klasa o nazwie CustomMessageFilter, zastępuje wiele metod klasy bazowej, w tym OnMouseDown, OnMouseMove, OnMouseHoverOnMouseDoubleClickOnMouseUpOnMouseLeaveOnDragEnterOnMouseEnterOnDragOveri .OnKeyDown

Ten przykład kodu jest częścią przykładu podstawowego zestawu SDK hostingu Projektant z pliku DesignerShell.cs. Aby uzyskać więcej informacji, zobacz Podstawowe Projektant Hosting.

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

Uwagi

Uwaga

W tym materiale omówiono przestarzałe typy i przestrzenie nazw. Aby uzyskać więcej informacji, zobacz Przestarzałe typy w programie Windows Workflow Foundation 4.5.

Projektant przepływu pracy udostępnia wzorzec projektu umożliwiający Strategy tworzenie obiektów filtru komunikatów możliwych do zastąpienia w celu obsługi zdarzeń.

WorkflowDesignerMessageFilter Od klasy należy utworzyć filtry komunikatów, które mogą reagować na zdarzenia projektanta przepływu pracy, takie jak operacje przeciągania, układ i operacje malowania oraz inne zdarzenia projektanta. Aby dodać niestandardowy filtr komunikatów do łańcucha filtrów komunikatów, wywołaj AddDesignerMessageFilterWorkflowView właściwość wirtualną lub przesłonięć MessageFilters właściwość wirtualną w niestandardowym działaniu głównym i dodaj niestandardowy filtr komunikatów do kolekcji zwróconej z klasy bazowej.

Konstruktory

WorkflowDesignerMessageFilter()
Przestarzałe.

Po zaimplementowaniu w klasie pochodnej inicjuje wystąpienie klasy WorkflowDesignerMessageFilter.

Właściwości

MessageHitTestContext
Przestarzałe.

Pobiera element HitTestInfo opisujący kontekst elementu WorkflowDesignerMessageFilter.

ParentView
Przestarzałe.

WorkflowView Pobiera element skojarzony z elementem WorkflowDesignerMessageFilter.

Metody

Dispose()
Przestarzałe.

Zwalnia zasoby używane przez usługę WorkflowDesignerMessageFilter.

Dispose(Boolean)
Przestarzałe.

Zwalnia zasoby niezarządzane używane przez element WorkflowDesignerMessageFilter i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)
Przestarzałe.

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()
Przestarzałe.

Próbuje zwolnić zasoby, wywołując wywołanie Dispose(false) przed odzyskaniem obiektu przez odzyskiwanie pamięci.

GetHashCode()
Przestarzałe.

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()
Przestarzałe.

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
Initialize(WorkflowView)
Przestarzałe.

Inicjuje element WorkflowDesignerMessageFilter ze skojarzonym elementem WorkflowView.

MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnDragDrop(DragEventArgs)
Przestarzałe.

Występuje, gdy przycisk myszy jest zwalniany nad obiektem podczas operacji przeciągania.

OnDragEnter(DragEventArgs)
Przestarzałe.

Występuje, gdy wskaźnik myszy wchodzi w granice obiektu podczas operacji przeciągania.

OnDragLeave()
Przestarzałe.

Występuje, gdy wskaźnik myszy opuszcza granice obiektu podczas operacji przeciągania.

OnDragOver(DragEventArgs)
Przestarzałe.

Występuje, gdy wskaźnik myszy przesuwa się w granicach obiektu podczas operacji przeciągania.

OnGiveFeedback(GiveFeedbackEventArgs)
Przestarzałe.

Występuje podczas operacji przeciągania.

OnKeyDown(KeyEventArgs)
Przestarzałe.

Występuje po naciśnięciu klawisza.

OnKeyUp(KeyEventArgs)
Przestarzałe.

Występuje po wydaniu klucza.

OnLayout(LayoutEventArgs)
Przestarzałe.

Występuje, gdy obiekty podrzędne powinny być zmieniane.

OnMouseCaptureChanged()
Przestarzałe.

Występuje, gdy elementy wybrane przez przeciągnięcie myszy zmieni się.

OnMouseDoubleClick(MouseEventArgs)
Przestarzałe.

Występuje po dwukrotnym kliknięciu myszy.

OnMouseDown(MouseEventArgs)
Przestarzałe.

Występuje po kliknięciu przycisku myszy.

OnMouseEnter(MouseEventArgs)
Przestarzałe.

Występuje, gdy wskaźnik myszy wchodzi w granice obiektu.

OnMouseHover(MouseEventArgs)
Przestarzałe.

Występuje, gdy wskaźnik myszy wstrzymuje się nad obiektem.

OnMouseLeave()
Przestarzałe.

Występuje, gdy wskaźnik myszy opuszcza granice obiektu.

OnMouseMove(MouseEventArgs)
Przestarzałe.

Występuje, gdy wskaźnik myszy przesuwa się w granicach obiektu.

OnMouseUp(MouseEventArgs)
Przestarzałe.

Występuje po zwolnieniu przycisku myszy.

OnMouseWheel(MouseEventArgs)
Przestarzałe.

Występuje, gdy kółko myszy porusza się.

OnPaint(PaintEventArgs, Rectangle, AmbientTheme)
Przestarzałe.

Występuje po odebraniu komunikatu farby.

OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)
Przestarzałe.

Występuje, gdy przepływ pracy powinien ponownie zamazać jego ozdoby.

OnQueryContinueDrag(QueryContinueDragEventArgs)
Przestarzałe.

Występuje podczas operacji przeciągania.

OnScroll(ScrollBar, Int32)
Przestarzałe.

Występuje, gdy użytkownik przewija się w projektancie przepływu pracy.

OnShowContextMenu(Point)
Przestarzałe.

Występuje, gdy przepływ pracy powinien wyświetlać menu kontekstowe.

OnThemeChange()
Przestarzałe.

Występuje, gdy motyw przepływu pracy ulegnie zmianie.

ProcessMessage(Message)
Przestarzałe.

Występuje, gdy należy przetworzyć nieprzetworzoną wiadomość Win32.

ToString()
Przestarzałe.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też