Condividi tramite


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

Restituisce un nuovo evento che attiva la seconda e le successive attivazioni dell'evento di input. L'ennesima attivazione dell'evento di input passa gli argomenti in coppia dalla N-1ª attivazione all'ennesima attivazione. L'argomento passato alla N-1ª attivazione viene mantenuto in uno stato interno nascosto finché non si verifica l'ennesima attivazione.

Percorso di spazio dei nomi/modulo: 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

Parametri

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

    Evento di input.

Valore restituito

Un evento che si attiva su coppie di valori consecutivi passati dall'evento di origine.

Note

Questa funzione è denominata Pairwise negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la funzione Event.pairwise. In questo esempio, la funzione rende disponibili i dati da più di un evento MouseMove e i dati vengono utilizzati per disegnare una linea tra le posizioni consecutive del mouse.

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

Piattaforme

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

Informazioni sulla versione

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Vedere anche

Riferimenti

Modulo Control.Event (F#)

Spazio dei nomi Microsoft.FSharp.Control (F#)