Событие нажатия кнопки F # - PullRequest
       12

Событие нажатия кнопки F #

2 голосов
/ 22 февраля 2012

Я новичок в F #, но немного программировал на C # ранее.Я пытаюсь выяснить, как написать ButtonClicEvent, который будет добавлять текст от кнопки (или в другом месте) к существующему тексту в текстовом поле ..

Это из C #:

private void Btn_Click(object sender, EventArgs e)
{
    // if the eventhandler contains more than one button
    var btn = (sender as Button);

    textBox.AppendText(btn.Text);
}

Нужно знать, как это сделать в F #.

Ответы [ 2 ]

8 голосов
/ 22 февраля 2012
btn.Click.Add(fun _ -> textBox.AppendText(btn.Text))
5 голосов
/ 22 февраля 2012

Есть хороший сайт F # Snippets

Соответствующий пример с этого сайта:

open System
open System.Drawing
open System.Windows.Forms

// Create form, button and add button to form
let form = new Form(Text = "Hello world!")
let btn = new Button(Text = "Click here")
form.Controls.Add(btn)

// Register event handler for button click event
btn.Click.Add(fun _ ->
  // Generate random color and set it as background
  let rnd = new Random()
  let r, g, b = rnd.Next(256), rnd.Next(256), rnd.Next(256)
  form.BackColor <- Color.FromArgb(r, g, b) )

// Show the form (in F# Interactive)
form.Show()
// Run the application (in compiled application)
Application.Run(form)
...