2012-02-22 3 views
1

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

Это из 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 #.

+0

Что вы пытались до сих пор? – Dan

+0

Я начал с чего-то вроде этого: Btn.Click.Add (fun evArgs -> – ISo

+0

Посмотрите на этот образец: http://geekswithblogs.net/MarkPearl/archive/2010/06/09/simple-mouse-move -event-in-f-with-winforms.aspx –

ответ

6
btn.Click.Add(fun _ -> textBox.AppendText(btn.Text)) 
+0

Спасибо, это сработало. Слишком легко спросить :-) .. Раньше у меня были сообщения об ошибках Aboud, AppendText не был определен – ISo

+0

@ISo, пожалуйста, не забудьте отметьте ответ как правильный, если он вам помог. – Dmitry

5

Там хороший сайт 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) 
Смежные вопросы