Partager via


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

Retourne un nouvel événement qui se déclenche à partir du deuxième déclenchement de l'événement d'entrée.L'énième déclenchement de l'événement d'entrée passe les arguments du N-1ème et de l'énième déclenchement en tant que paire.L'argument passé au déclenchement N-1th est maintenu dans un état interne masqué jusqu'au déclenchement de Nth.

Espace de noms/Chemin du module : 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

Paramètres

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

    Événement d'entrée.

Valeur de retour

Événement qui se déclenche sur les paires de valeurs successives passées depuis l'événement source.

Notes

Cette fonction se nomme Pairwise dans les assemblys compilés.Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.

Exemple

L'exemple de code suivant montre comment utiliser la fonction Event.pairwise.Dans cet exemple, la fonction rend les données disponibles à partir de plusieurs événements MouseMove et les données sont utilisées pour dessiner une ligne entre les positions consécutives de la souris.

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))

Plateformes

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

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Control.Event, module (F#)

Microsoft.FSharp.Control, espace de noms (F#)