我在Macbook上使用Visual Studio Code在F#中编写GUI程序。当我运行代码时,我被困在一个空白的窗口,车轮旋转。我无法关闭窗户。我在一篇文章中读到,它需要大约5-8分钟才能运行,后续运行速度更快。但我总是卡住,不知道该怎么做。
这是我的代码:
#r "System.Windows.Forms";;
open System;;
open System.Windows.Forms;;
open System.Drawing;;
let form = new Form(Width = 400, Height = 300, Visible = true, Text = "Hello World");;
form.TopMost <- false;;
form.Click.Add (fun _ -> form.Text <- sprintf "form clicked at %i" DateTime.Now.Ticks)
form.Show();
我在日志中得到了这个。
引用'/Library/Frameworks/Mono.framework/Versions/4.4.2/lib/mono/4.5-api/System.Windows.Forms.dll'(文件可能被F#Interactive进程锁定)
答案 0 :(得分:2)
从代码中的#r
开始,我假设您正在尝试运行F#Interactive中的代码。
您可以交互式地从F#Interactive创建Windows窗体用户界面,但在单声道上,这会产生一些性能开销,因此默认情况下不启用它。为此,您需要将--gui
标志传递给F#interactive。 (我知道你可以在Xamarin Studio的F#选项中将它设置为某个选项,但我不确定其他编辑器。)