Event.choose<'T,'U,'Del>, fonction (F#)
Retourne un nouvel événement qui déclenche une sélection de messages à partir de l'événement d'origine.La fonction de sélection transfère le message d'origine dans un nouveau message facultatif.
Espace de noms/Chemin du module : 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
Paramètres
chooser
Type : 'T -> 'UoptionFonction utilisée pour sélectionner et transformer des valeurs d'événement à transmettre.
sourceEvent
Type : IEvent<'Del,'T>Événement d'entrée.
Valeur de retour
Événement qui se déclenche uniquement lorsque le sélecteur en retourne Some.
Notes
Cette fonction se nomme Choose dans les assemblys compilés.Si vous accédez à la fonction à partir d'un langage .NET autre que F# ou par réflexion, utilisez ce nom.
Exemple
L'exemple de code suivant montre comment utiliser la fonction Event.choose.Dans cet exemple, la fonction est utilisée pour sélectionner uniquement des événements lorsque le bouton de la souris est enfoncé.En même temps, la fonction transforme les données d'entrée de type MouseEventArgs dans un format plus pratique, un tuple de deux entiers qui représentent la position actuelle de la souris.
// 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) )
Plateformes
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informations de version
Versions de bibliothèque principale F#
Prise en charge dans : 2,0, 4,0, portables