0

私はOokii.Dialogを使用しています。

VistaFolderBrowserDialog を使用してフォルダーを選択すると、選択したフォルダーが存在しない場合、フォルダーが存在しないことを警告する代わりに、作成するように求められることを願っています。

どうすればそのようなことができますか?イベントやオプションはありますか?

これは私のコードです。

VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
dialog.Description = "Select Export Folder:";
dialog.ShowNewFolderButton = true;
dialog.SelectedPath = Path.Combine(Path.GetDirectoryName(lastSelectPath), 
       Path.GetFileNameWithoutExtension(lastAppendFilepath));
4

1 に答える 1

0

でディレクトリが存在するかどうかを確認しDirectory.Exists(string)、 でユーザーに問い合わせてから、MessageBoxでディレクトリを作成するだけDirectory.CreateDirectory(string)です。

var initialDirectory = Path.Combine(Path.GetDirectoryName(lastSelectPath), 
       Path.GetFileNameWithoutExtension(lastAppendFilepath));

if(!Directory.Exists(initalDirectory))
{
    if(MessageBox.Show("Folder does not exist", "The default folder does not exist, create it?", MessageBoxButtons.YesNo) == DialogResult.Yes)
        Directory.CreateDirectory(initalDirectory);
}

VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
dialog.Description = "Select Export Folder:";
dialog.ShowNewFolderButton = true;
dialog.SelectedPath = initalDirectory;

Directory.CreateDirectory(initalDirectory)例外がスローされる理由があることに注意してください。たとえば、ディレクトリを作成する権限がない場所にディレクトリを作成しようとしたとします。2 行を try-catch ブロックでラップし、エラーを適切に処理することができます。

于 2013-09-17T18:08:08.773 に答える