F#和winform控件问题

时间:2009-04-14 02:23:02

标签: winforms f# textbox

我是F#的新手,我想我会开发一个简单的winform计算器来加强我对F#和.NET的技能。我遇到了两个可能有非常简单答案的问题,但是,我找不到任何来自我资源的帮助。

首先,我希望能够将我的文本框类型更改为整数,这样当我按下“添加”按钮时,事件将添加整数而不会连接它们。例如:

btnPlus.Click.Add(有趣_ - > tb1.Text< - (“2”)+(“2”))给了我22而不是4

如何为输入文本框的值指定文本框或整数类型的整数类型?

我的下一个问题与语法有关。我只是想知道如何向事件添加多个命令。也就是说,在上面的例子中,假设我想添加两个整数,再打开另一个表单,并在单击按钮后运行一个消息框。我是否只在每个命令之间包含逗号,例如:btnPlus.Click.Add(fun _ - > add integers,open form,messagebox)或者还有其他涉及的内容吗?

我为sophomoric问题道歉。 F#和winforms上没有足够的资源,因为F#和输出(即打印,cmd等等)

谢谢,

DFM

2 个答案:

答案 0 :(得分:2)

我认为文本框文本始终是一个字符串,但您可以执行以下操作:

(2 + 2).ToString()

(不太确定你要追求的是什么)。

对于lambda体内的多个语句,F#是基于表达式的,但使用';'或排序的新行,例如。

(fun _ -> doFoo(); doBar())

(fun _ ->
    doFoo()
    doBar()
)

答案 1 :(得分:1)

您只需将文本框内容解析为整数即可。你可以通过Convert.ToInt32。

来做到这一点
open System
let string1 = "254"
let string2 = "4525"
let myNum = Convert.ToInt32(string1) + Convert.ToInt32(string2)

编辑:您也可以使用Int32.TryParse(string,int32)来完成它。

编辑:在F#中,您只需使用“int”,例如(int string1)。

相关问题