共用方式為


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

傳回新事件,這是當第二次和之後觸發輸入事件時會觸發的事件。 第 N 次觸發輸入事件,會將第 N-1 次和第 N 次觸發時的引數成對傳遞。 傳遞給第 N-1 個觸發動作的引數會保留在隱藏的內部狀態中,直到第 N 個觸發動作發生為止。

命名空間/模組路徑:Microsoft.FSharp.Control.Event

組件:FSharp.Core (在 FSharp.Core.dll 中)

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

// Usage:
Event.pairwise sourceEvent

參數

  • sourceEvent
    型別:IEvent<'Del,'T>

    輸入事件。

傳回值

從來源事件傳遞成對之連續值時觸發的事件。

備註

這個函式在已編譯的組件中名為 Pairwise。 如果您是透過 F# 以外的語言,或是透過反映來存取函式,請使用這個名稱。

範例

下列程式碼範例示範如何使用 Event.pairwise 函式。 在此範例中,函式會從多個 MouseMove事件提供資料,且使用該資料在連續滑鼠位置之間繪製線條。

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

平台

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

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

參考

Control.Event 模組 (F#)

Microsoft.FSharp.Control 命名空間 (F#)