共用方式為


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

傳回新事件,這是會在原始事件的一組訊息上引發的事件。 選取函式會將原始訊息放到選擇性的新訊息中。

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

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

// Signature:
Event.choose : ('T -> 'U option) -> IEvent<'Del,'T> -> IEvent<'U> (requires delegate)

// Usage:
Event.choose chooser sourceEvent

參數

  • chooser
    型別:'T -> 'U option

    函式,選取和轉換要傳遞的事件值。

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

    輸入事件。

傳回值

只有在選擇器傳回 Some 時才會引發的事件。

備註

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

範例

下列程式碼範例示範如何使用 Event.choose 函式。 在此範例中,當按下滑鼠按鈕時,函式只用於選取事件。 同時,函式會將類型MouseEventArgs的輸入資料轉換成更方便的格式,也就是兩個整數的 Tuple,代表目前的滑鼠位置。

// When the mouse button is down, the form changes color
// as the mouse pointer is moved.

let form = new Form(Text = "F# Windows Form",
                    Visible = true,
                    TopMost = true)
form.MouseMove
    |> Event.choose(fun evArgs ->
        if (evArgs.Button <> MouseButtons.None) then
            Some( evArgs.X, evArgs.Y)
        else None)

    |> Event.add ( fun (x, y) ->
        form.BackColor <- System.Drawing.Color.FromArgb(
            x, y, x ^^^ y) )

平台

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

版本資訊

F# 核心程式庫版本

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

請參閱

參考

Control.Event 模組 (F#)

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