Compartilhar via


Event.Filter < m','Del > Função (F#)

Retorna um novo evento que escuta para o evento original e dispare o evento resultante somente quando o argumento para o evento passa a função especificados.

Namespace/Module Path: Microsoft.FSharp.Control.Event

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

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

// Usage:
Event.filter predicate sourceEvent

Parâmetros

  • predicate
    Tipo: 'T ->bool

    A função para determinar qual gatilho de evento se propagar.

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

    O evento de entrada.

Valor de retorno

Um evento que passa apenas os valores que transmitem o predicado.

Comentários

Essa função é chamada Filter em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.

Exemplo

O exemplo de código a seguir mostra como usar a função de Event.filter .Em esse exemplo, os eventos do mouse são passados em somente quando o ponteiro do mouse está em uma determinada região.

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

Plataformas

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

Informações de Versão

Versões da biblioteca principal de F#

Suportado em: 2,0, 4,0, portáteis

Consulte também

Referência

Módulo de Control.Event (F#)

Microsoft.FSharp.Control Namespace (F#)