Rohit Pai (rodude123) Ответов: 2

Аргумент исключение ошибка, путь не имеет юридической формы


Я получаю исключение аргумента(изображение ошибки) когда я запускаю этот фрагмент кода
DirectoryInfo directoryInfo = new DirectoryInfo(path);

Это код, который получает путь
private void openFolderToolStripButton_Click(object sender, EventArgs e)
{
    FolderBrowserDialog obd = new FolderBrowserDialog();
    if (obd.ShowDialog() == DialogResult.OK)
    {
        path = obd.SelectedPath;
        Console.WriteLine("path is found");
        Console.WriteLine(path.ToString());

    }
}


Что я уже пробовал:

Он отлично работает с предопределенным путем, например
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\rohit\Desktop\all\DS4Windows");

Что мне делать, я немного запутался, почему это проблема

Karthik_Mahalingam

является ли путь нулевым/пустым при загрузке?

Ehsan Sajjad

какое значение имеет переменная path в то время, когда происходит исключение ?

2 Ответов

Рейтинг:
20

Karthik_Mahalingam

Так как путь есть empty/null на загрузка страниц, это приведет к аргументации exception, ( на основе информации из скриншота)

FolderBrowserDialog obd = new FolderBrowserDialog();
            if (obd.ShowDialog() == DialogResult.OK)
            {
               string path = obd.SelectedPath; 
                DirectoryInfo directoryInfo = new DirectoryInfo(path);
                // cut the code from page load and paste it over here.

            }


Rohit Pai (rodude123)

Это работает спасибо

Karthik_Mahalingam

Добро пожаловать РП

Rohit Pai (rodude123)

Об этом я как-то не подумал. Есть ли способ сделать древовидное представление с кнопками, мне было интересно, потому что я делаю файловый браузер для редактора кода

Karthik_Mahalingam

Хм иногда случается

Rohit Pai (rodude123)

да

Karthik_Mahalingam

Точка разрыва-ваш друг

Рейтинг:
1

jimmson

Привет,

судя по предоставленному скриншоту, вы пытаетесь сделать это в Form1_Load. Вы уверены, что у вас есть правильный путь на данный момент? Если это ваша единственная форма, и вы не отправили путь из какой-то другой формы, это, вероятно, будет проблемой. Отладьте свой код, чтобы увидеть, что на самом деле находится в path переменная в момент создания DirectoryInfo.

Надеюсь, это поможет.


Rohit Pai (rodude123)

Путь в начале всегда равен нулю, поскольку путь еще не выбран из диалогового окна браузера папок, я пытаюсь создать браузер папок для своего редактора кода