最近我一直在使用TryFSharp.org试图在业余时间学习F# http://fssnip.net/上有很多非常好的例子,我一直在寻找灵感。
许多UI示例都包含以下代码:
open System
open System.Drawing
open System.Windows.Forms
...
form.Show()
// Run the application (in compiled application)
Application.Run(form)
不幸的是,当我将这些加载到TryFSharp.org时,我在打开的System.Drawing上遇到了编译错误。
我是否缺少一些可以使这些示例正常工作的东西? 这里有一个FSharp脚本示例:
如果单击tryfsharp.org按钮,它将在浏览器中加载,但会显示编译错误。
---编辑---
正如下面所指出的,System.Drawing在浏览器中不可用。但是,我也遇到了名称空间System.Windows等问题。
例如
打开System.Windows
失败,“名称空间'Windows'未定义”
在IE10和谷歌浏览器中都尝试过。
---结束编辑---
答案 0 :(得分:6)
System.Drawing允许您访问GDI图形功能,System.Windows.Forms使您可以访问Windows窗体功能。这些都不适用于浏览器。
如果你想这样做,你需要从标准的.net编译器编译它,而不是在silverlight中运行的有限功能编译器。
System.Windows.Controls
for Silverlight
当我将它输入TryFSharp编辑器时,由于某种原因,它无法识别Windows
命名空间,但是当我运行脚本时,它执行得很好。
System.Drawing命名空间提供对GDI +基本图形的访问 功能。
GDI可用于所有基于Windows的应用程序。
这意味着不是 Silverlight。
System.Windows.Forms命名空间包含用于创建的类 基于Windows的应用程序,充分利用富用户 Microsoft Windows操作中提供的界面功能 系统
并非所有以前的TryFSharp迭代都提供的功能目前都可用。查看当前访问Cavnas的方式here。