You could do something like this:
let ButtonClicked evArgs sender =
// Do something interesting here
()
button.Click.Add(fun evArgs -> ButtonClicked evArgs button)
Question
Adding a EventHandler function to button click event with sender as a parameter.
let ButtonClicked (evArgs)=
DoSomthing...
button.Click.Add(fun evArgs -> ButtonClicked())
Code Works But I want to somthing like this
let ButtonClicked (evArgs,sender)=
sender.DoSomthing()
...
button.Click.Add(fun evArgs,sender -> ButtonClicked())
Thanks for your help.
Solution
You could do something like this:
let ButtonClicked evArgs sender =
// Do something interesting here
()
button.Click.Add(fun evArgs -> ButtonClicked evArgs button)
OTHER TIPS
EDIT: Full example. Paste this into the interpreter:
open System.Windows.Forms
let form = new Form(Text = "Form")
let button = new Button(Text = "Button")
form.Controls.Add(button)
let ButtonClicked sender evargs =
printfn "From '%A' received '%A'" sender evargs
button.Click.AddHandler (new System.EventHandler(ButtonClicked))
Application.Run(form)
;;
(By the way, how cool is it you can just paste that into the interpreter?)