Freigeben über


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

Aktualisiert: September 2010

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 -> bool

    Die 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 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.