Compartilhar via


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

Retorna um novo evento que escuta para o evento original e dispare o evento resultante primeiro se o aplicativo de predicado para os argumentos de evento retornado true, e o segundo evento se retornou false.

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

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

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

// Usage:
Event.partition predicate sourceEvent

Parâmetros

  • predicate
    Tipo: 'T ->bool

    A função para determinar qual evento de saída disparar.

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

    O evento de entrada.

Valor de retorno

Um tuple de eventos.O primeiro é acionado quando o predicado avalia a true e o segundo quando o predicado avalia a false.

Comentários

Essa função é chamada Partition 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 código a seguir mostra como usar a função de Event.partition para dividir um evento em dois eventos, cada um com seu próprio código de manipulação de eventos.

open System.Windows.Forms
open System.Drawing

let form = new Form(Text = "F# Windows Form",
                    Visible = true,
                    TopMost = true)

let (event1, event2) =
    form.MouseMove 
    |> Event.partition (fun evArgs -> evArgs.X > 100)

event1 |> Event.add ( fun evArgs ->
    form.BackColor <- System.Drawing.Color.FromArgb(
        evArgs.X, evArgs.Y, evArgs.X ^^^ evArgs.Y))
event2 |> Event.add ( fun evArgs ->
    form.BackColor <- System.Drawing.Color.FromArgb(
        evArgs.Y, evArgs.X, evArgs.Y ^^^ evArgs.X))

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