Partilhar via


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

Retorna um novo evento que acione em uma seleção de mensagens de evento original.A função de seleção recebe uma mensagem original para uma nova mensagem opcional.

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

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

// Signature:
Event.choose : ('T -> 'U option) -> IEvent<'Del,'T> -> IEvent<'U> (requires delegate)

// Usage:
Event.choose chooser sourceEvent

Parâmetros

  • chooser
    Tipo: 'T -> 'Uopção

    A função para selecionar e transformar valores de evento para passar em.

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

    O evento de entrada.

Valor de retorno

Um evento que acione somente quando o seletor retornar Some.

Comentários

Essa função é chamada Choose em assemblies compilados.Se você está acessando a função de uma linguagem .NET a não ser 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.choose .Em esse exemplo, a função é usada para selecionar apenas eventos quando o botão do mouse está pressionada.A o mesmo tempo, a função torna os dados de entrada do tipo MouseEventArgs em um formato mais conveniente, um tuple de dois inteiros que representam a posição atual do mouse.

// When the mouse button is down, the form changes color
// as the mouse pointer is moved.

let form = new Form(Text = "F# Windows Form",
                    Visible = true,
                    TopMost = true)
form.MouseMove
    |> Event.choose(fun evArgs ->
        if (evArgs.Button <> MouseButtons.None) then
            Some( evArgs.X, evArgs.Y)
        else None)

    |> Event.add ( fun (x, y) ->
        form.BackColor <- System.Drawing.Color.FromArgb(
            x, y, x ^^^ 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#)