1

パラメーターとして送信者を使用して、ボタン クリック イベントに EventHandler 関数を追加します。

let ButtonClicked (evArgs)= 
     DoSomthing...

button.Click.Add(fun evArgs -> ButtonClicked())

コードは機能しますが、私はこのようなことをしたいです

let ButtonClicked (evArgs,sender)= 
     sender.DoSomthing()
     ...

button.Click.Add(fun evArgs,sender -> ButtonClicked())

ご協力いただきありがとうございます。

4

2 に答える 2

2

次のようなことができます。

let ButtonClicked evArgs sender =
    // Do something interesting here
    ()

button.Click.Add(fun evArgs -> ButtonClicked evArgs button)
于 2014-03-13T08:08:39.823 に答える
2

編集:完全な例。これをインタープリターに貼り付けます。

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

(ちなみに、それをインタープリターに貼り付けるだけで、どれほどクールですか?)

于 2014-03-13T08:30:04.577 に答える