Event.choose<'T,'U,'Del>-Funktion (F#)
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 -> 'UoptionDie 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 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Versionsinformationen
F#-Kern-Bibliotheks-Versionen
Unterstützt in: 2,0, 4,0, portablen