FSI中的OpenFileDialog问题

时间:2013-09-16 18:45:00

标签: winforms f# f#-interactive

简单问题:

在F#Interactive中,这不起作用(它没有显示对话框):

open System.Windows.Forms
let dlg = new OpenFileDialog()
let res = dlg.ShowDialog()

在我第一次做一个简单的MessageBox后,这段代码确实有效:

open System.Windows.Forms
MessageBox.Show("Now it works!")
let dlg = new OpenFileDialog()
let res = dlg.ShowDialog()

此代码在首次显示表单后也可以使用:

open System.Windows.Forms
let frm = new Form()
frm.Show()
let dlg = new OpenFileDialog()
let res = dlg.ShowDialog()

但是,此代码不显示任何形式,甚至不显示Messagebox:

open System.Windows.Forms
let dlg = new OpenFileDialog()
let res = dlg.ShowDialog()
MessageBox.Show("Now it does not work...")

似乎OpenFileDalog阻止某些东西,如果它没有其他形式温暖/加载某些东西,不知道是什么。

任何想法会使OpenFileDialog立即发挥作用?

使用Microsoft(R)F#2.0 Interactive build 4.0.40219.1

谢谢,GJ

1 个答案:

答案 0 :(得分:2)

窗口在那里,它们只是在后面的 Visual Studio UI中出现,所以很容易不注意它们。我不确定他们为什么不出现在前台。

从命令行(即不是托管的VS)快速测试FSI表示在这种情况下窗口会到达前台。