次の方法で共有


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

入力イベントの 2 番目のトリガーとそれ以降のトリガーによって発生する、新しいイベントを返します。 入力イベントの 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

参照

関連項目

Control.Event モジュール (F#)

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