Udostępnij za pośrednictwem


Event.Filter < t,'Del > Funkcja (F#)

Zwraca nowe zdarzenie, które wykrywa zdarzenie oryginalny i wynikowe zdarzenie tylko wtedy, gdy argument zdarzenia przekazuje danej funkcji.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Control.Event

Zestaw: FSharp.Core (w FSharp.Core.dll)

// Signature:
Event.filter : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T> (requires delegate)

// Usage:
Event.filter predicate sourceEvent

Parametry

  • predicate
    Type: 'T ->bool

    Funkcja do określenia, która wyzwala od zdarzeń do propagowania.

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

    Zdarzenie wejściowe.

Wartość zwracana

Zdarzenie przekazuje tylko wartości, które przechodzą predykat.

Uwagi

Ta funkcja o nazwie Filter w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy przykład kodu pokazuje, jak używać Event.filter funkcji.W tym przykładzie zdarzenia myszy są przekazywane tylko wtedy, gdy wskaźnik myszy znajduje się w danym regionie.

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

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Moduł Control.Event (F#)

Obszar nazw Microsoft.FSharp.Control (F#)