在F#中,如果我做类似的事情 let form = new Form(Text =“MyForm”) 并在FSI中运行,表单将正常显示和更新,甚至收到消息。但是,谁在抽取消息队列?此处没有Application.Run调用。我有点困惑。
答案 0 :(得分:16)
正如ildjarn所说,F#Interactive实现了自己的消息循环。有趣的是,消息循环在F#Interactive中没有硬编码,因此您可以更改它。这非常有用,因为默认的是基于Windows窗体,但是您可能还想使用其他GUI框架。
为此,您需要实现IEventLoop
接口,然后将您的实例分配给fsi.EventLoop
属性。有关更多信息,请参阅:
答案 1 :(得分:3)