如何检查文件是否被选中?
private void BrowseFilesButton_Click(object sender, RoutedEventArgs e)
{
var ofd = new OpenFileDialog {Multiselect = true};
ofd.ShowDialog();
ViewModel.ChoosenFiles = ofd.FileNames;
FileBox.Text = $"Selected {ofd.FileNames.Length} scripts";
}
private void ExecFilesButton_Click(object sender, RoutedEventArgs e)
{
List<Script> scriptToRun = ViewModel.ChoosenFiles.Select(item => new Script(item)).ToList();
SetProgressBar(scriptToRun.Count);
var runner = new Runner(ViewModel.SelectedConnection);
runner.RunQueries(scriptToRun, UpdateProgressBar());
MessageBox.Show("ok");
}
您应该检查用户如何关闭对话框:使用 OK 或其他方式。
为此,使用构造
(
true需要与 进行比较,因为返回类型是bool?,而不是bool)。该值
true表示使用确定按钮关闭对话框,在这种情况下文件列表必须是非空的。在其他返回值(
false或null)的情况下,对话框被另一个按钮关闭(Esc,取消,Alt+F4...)并且没有选择文件。(当前的实现似乎永远不会返回null。)我这样做了并且有效: