【问题标题】:Window in Mono stuck in loading modeMono中的窗口卡在加载模式
【发布时间】:2016-09-05 12:11:38
【问题描述】:

我正在我的 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# 交互进程锁定)

【问题讨论】:

  • 找不到重复的,但您需要致电Application.Run

标签: winforms f# mono f#-interactive f#-3.0


【解决方案1】:

根据您代码中的#r,我假设您正在尝试从 F# Interactive 运行代码。

您可以从 F# Interactive 以交互方式创建 Windows 窗体用户界面,但在单声道上,这会产生一些性能开销,因此默认情况下不启用。为此,您需要将 --gui 标志传递给 F# 交互。 (我知道您可以在 Xamarin Studio 的 F# 选项中将其设置为某个选项,但我不确定其他编辑器。)

【讨论】:

  • 请给我一个使用 --gui 标志的示例代码
  • 当您打开--gui 模式时,您的代码应该可以正常工作。
  • 不知道怎么打开。我仍然卡住了!告诉我怎么做
  • 我在运行 OS X El Capitan 10.11.8 的 MacBook Pro 上使用 Visual Studio 代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
相关资源
最近更新 更多