Freigeben über


Event.pairwise<'Del,'T>-Funktion (F#)

Gibt ein neues Ereignis zurück, das bei der zweiten Auslösung und weiteren Auslösungen des Eingabeereignisses ausgelöst wird.Bei der N-ten Auslösung des Eingabeereignisse werden die Argumente von der N-1-ten Auslösung und der N-ten Auslösung als Paar übergeben.Das beim N-1-ten Auslösen übergebene Argument verbleibt bis zum N-ten Auslösen in einem versteckten internen Zustand.

Namespace/Modulpfad: Microsoft.FSharp.Control.Event

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
Event.pairwise : IEvent<'Del,'T> -> IEvent<'T * 'T> (requires delegate)

// Usage:
Event.pairwise sourceEvent

Parameter

  • sourceEvent
    Typ: IEvent<'Del,'T>

    Das Eingabeereignis.

Rückgabewert

Ein Ereignis, das bei Paaren aufeinander folgender Werte ausgelöst wird, die vom Quellereignis übergeben wurden.

Hinweise

Der Name dieser Funktion in kompilierten Assemblys lautet Pairwise.Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der Event.pairwise-Funktion veranschaulicht.In diesem Beispiel macht die Funktion Daten aus mehr als einem MouseMove-Ereignis verfügbar, und mithilfe der Daten wird eine Linie zwischen aufeinander folgenden Mauspositionen gezeichnet.

open System.Windows.Forms
open System.Drawing

let form = new Form(Text = "F# Windows Form",
                    Visible = true,
                    TopMost = true)

let graphics = BufferedGraphicsManager.Current.Allocate(form.CreateGraphics(), 
                                new Rectangle( 0, 0, form.Width, form.Height ))
let whitePen = new Pen(Color.White)

form.MouseClick
    |> Event.pairwise
    |> Event.add ( fun (evArgs1, evArgs2) ->
        graphics.Graphics.DrawLine(whitePen, evArgs1.X, evArgs1.Y, evArgs2.X, evArgs2.Y)
        form.Refresh())

form.Paint
    |> Event.add(fun evArgs -> graphics.Render(evArgs.Graphics))

Plattformen

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Versionsinformationen

F#-Kern-Bibliotheks-Versionen

Unterstützt in: 2,0, 4,0, portablen

Siehe auch

Referenz

Control.Event-Modul (F#)

Microsoft.FSharp.Control-Namespace (F#)