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