Event.Filter < T','Del > Função (F#)
Retorna um novo evento que ouve o evento original e dispara o evento resultante somente quando o argumento para o evento passa a determinada função.
Caminho do namespace/módulo: 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 -> boolA função para determinar qual dispara o evento para propagar.
sourceEvent
Tipo: IEvent<'Del,'T>O evento de entrada.
Valor de retorno
Um evento que só passa os valores passam o predicado.
Comentários
Esta função é chamada de Filter em módulos (assemblies) compilados. Se você estiver acessando a função de um idioma diferente, por exemplo, F# ou através de reflexão, use esse nome.
Exemplo
O exemplo de código a seguir mostra como usar o Event.filter função. Neste exemplo, os eventos de mouse são passados somente quando o ponteiro do mouse estiver 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 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informações sobre versão
O tempo de execução F#
Compatível com: 2.0, 4.0
Silverlight
Compatível com: 3
Consulte também
Referência
Microsoft.FSharp.Control Namespace (F#)
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Setembro de 2010 |
Exemplo de código adicionado. |
Aprimoramento de informações. |