Funzione Event.choose<'T,'U,'Del> (F#)
Restituisce un nuovo evento che genera una selezione di messaggi dall'evento originale.La funzione di selezione sposta un messaggio originale in un nuovo potenziale messaggio.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Control.Event
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Event.choose : ('T -> 'U option) -> IEvent<'Del,'T> -> IEvent<'U> (requires delegate)
// Usage:
Event.choose chooser sourceEvent
Parametri
chooser
Tipo: 'T -> 'UoptionFunzione per selezionare e trasformare i valori degli eventi da passare.
sourceEvent
Tipo: IEvent<'Del,'T>Evento di input.
Valore restituito
Evento che viene generato solo quando il parametro chooser restituisce Some.
Note
Questa funzione è denominata Choose negli assembly compilati.Utilizzare questo nome se si accede alla funzione da un linguaggio .NET diverso da F# o tramite reflection.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la funzione Event.choose.In questo esempio, la funzione viene utilizzata per selezionare solo gli eventi quando il pulsante del mouse è premuto.Allo stesso tempo, la funzione trasforma i dati di input del tipo MouseEventArgs in un formato più conveniente, una tupla di due integer che rappresenta la posizione corrente del 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) )
Piattaforme
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informazioni sulla versione
Versioni della libreria di base F#
Supportato in: 2,0, 4,0, portabile