如果不满足条件,文件夹对话框 return 进行对话
Folder Dialog return to dialog if criteria not met
为了便于使用,我正在使用 Ookii Vista 文件夹对话框,并且我正在执行从按钮调用的代码:
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using Ookii.Dialogs;
private string LoadDirectories()
{
VistaFolderBrowserDialog fbd = new VistaFolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK && fbd.SelectedPath.Contains("U000"))
{
return fbd.SelectedPath;
}
else
{
MessageBox.Show("Folder must be root assembly, which has U000 in name");
}
return string.Empty;
}
目前,如果用户没有选择名称中带有 U000
的文件夹,对话框将关闭,但我希望它保持打开状态,直到用户取消或设置正确的文件夹路径。我到处都找不到这个。
简单实现你的需求(加一个while
):
使用的 nuget:Ookii.Dialogs.Wpf
private string LoadDirectories()
{
VistaFolderBrowserDialog fbd = new VistaFolderBrowserDialog();
while (true)
{
if (fbd.ShowDialog() == false)
{
break;
}
else if (fbd.SelectedPath.Contains("U000"))
{
return fbd.SelectedPath;
}
else
{
MessageBox.Show("Folder must be root assembly, which has U000 in name");
}
}
return string.Empty;
}
输出:
为了便于使用,我正在使用 Ookii Vista 文件夹对话框,并且我正在执行从按钮调用的代码:
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using Ookii.Dialogs;
private string LoadDirectories()
{
VistaFolderBrowserDialog fbd = new VistaFolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK && fbd.SelectedPath.Contains("U000"))
{
return fbd.SelectedPath;
}
else
{
MessageBox.Show("Folder must be root assembly, which has U000 in name");
}
return string.Empty;
}
目前,如果用户没有选择名称中带有 U000
的文件夹,对话框将关闭,但我希望它保持打开状态,直到用户取消或设置正确的文件夹路径。我到处都找不到这个。
简单实现你的需求(加一个while
):
使用的 nuget:Ookii.Dialogs.Wpf
private string LoadDirectories()
{
VistaFolderBrowserDialog fbd = new VistaFolderBrowserDialog();
while (true)
{
if (fbd.ShowDialog() == false)
{
break;
}
else if (fbd.SelectedPath.Contains("U000"))
{
return fbd.SelectedPath;
}
else
{
MessageBox.Show("Folder must be root assembly, which has U000 in name");
}
}
return string.Empty;
}
输出: