Event.filter<'T,'Del>-Funktion (F#)
Gibt ein neues Ereignis zurück, das auf das ursprüngliche Ereignis lauscht und das resultierende Ereignis nur dann auslöst, wenn das Argument für das Ereignis die angegebene Funktion übergibt.
Namespace/Modulpfad: Microsoft.FSharp.Control.Event
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Event.filter : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T> (requires delegate)
// Usage:
Event.filter predicate sourceEvent
Parameter
predicate
Typ: 'T ->boolDie Funktion, mit der die Trigger aus dem Ereignis bestimmt werden, die weitergeleitet werden sollen.
sourceEvent
Typ: IEvent<'Del,'T>Das Eingabeereignis.
Rückgabewert
Ein Ereignis, das nur Werte übergibt, die das Prädikat erfüllen.
Hinweise
Der Name dieser Funktion in kompilierten Assemblys lautet Filter.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.filter-Funktion veranschaulicht.In diesem Beispiel werden Mausereignisse nur dann übergeben, wenn sich der Mauszeiger in einem bestimmten Bereich befindet.
let form = new Form(Text = "F# Windows Form",
Visible = true,
TopMost = true)
form.MouseMove
|> Event.filter ( fun evArgs -> evArgs.X > 100 && evArgs.Y > 100)
|> Event.add ( fun evArgs ->
form.BackColor <- System.Drawing.Color.FromArgb(
evArgs.X, evArgs.Y, evArgs.X ^^^ evArgs.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