Freigeben über


Event.choose<'T,'U,'Del>-Funktion (F#)

Aktualisiert: September 2010

Gibt ein neues Ereignis zurück, das bei einer Auswahl von Meldungen aus dem ursprünglichen Ereignis ausgelöst wird. Die Auswahlfunktion übernimmt eine ursprüngliche Meldung in eine optionale neue Meldung.

Namespace/Modulpfad: Microsoft.FSharp.Control.Event

Assembly: FSharp.Core (in FSharp.Core.dll)

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

// Usage:
Event.choose chooser sourceEvent

Parameter

  • chooser
    Typ: 'T -> 'U option

    Die Funktion, mit der zu übergebende Ereigniswerte ausgewählt und transformiert werden.

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

    Das Eingabeereignis.

Rückgabewert

Ein Ereignis, das nur ausgelöst wird, wenn von der Auswahl Some zurückgegeben wird.

Hinweise

Der Name dieser Funktion in kompilierten Assemblys lautet Choose. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der Event.choose-Funktion veranschaulicht. In diesem Beispiel werden mit der Funktion nur dann Ereignisse ausgewählt, wenn die Maustaste gedrückt wird. Gleichzeitig transformiert die Funktion die Eingabedaten vom Typ MouseEventArgs in ein bequemeres Format, ein Tupel von zwei ganzen Zahlen, die die aktuelle Mausposition darstellen.

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

Plattformen

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Versionsinformationen

F#-Runtime

Unterstützt in: 2.0, 4.0

Silverlight

Unterstützt in: 3

Siehe auch

Weitere Ressourcen

Control.Event-Modul (F#)

Microsoft.FSharp.Control-Namespace (F#)

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

September 2010

Codebeispiel hinzugefügt.

Informationsergänzung.