0

我正在使用 C# VS 2012。我希望能够为 FileDialog 提供一个事件,一旦用户选择一个文件,就会运行一些代码。因此,一旦关闭文件对话框,代码就会运行。如果有人可以提供任何帮助,那就太好了。

4

4 回答 4

3

好吧,默认情况下,显示对话框是模态的,即,您的线程有效地暂停,直到对话框关闭。因此,Show()它和调用之后的任何代码都将在窗口关闭后运行。FileName您可以通过属性(或FileNames属性,如果MultiSelect设置为)获取选择的文件true

于 2013-07-29T20:28:54.270 回答
2

这适用于 WinForms:

  using (OpenFileDialog dialog = new OpenFileDialog()) {
     if (DialogResult.OK == dialog.ShowDialog()) {
        // work with dialog.FileName
     }
  }
于 2013-07-29T20:30:12.367 回答
1

FileDialog 的 ShowDialog 方法被阻塞。这意味着它被执行和显示的线程将停止执行,直到文件被返回。您可以使用结果来检查是否选择了文件。

于 2013-07-29T20:30:20.367 回答
0

这是 WPF 方式:

// Call the ShowDialog method to show the dialog box.
bool? userClickedOK = openFileDialog1.ShowDialog();

// Process input if the user clicked OK.
if (userClickedOK == true)
{
    ... your code here
}

更多信息: http: //msdn.microsoft.com/en-us/library/cc221415 (v=vs.95).aspx

于 2013-07-29T20:30:17.880 回答