В моей программе есть кнопка, которая при нажатии открывает файл с открытым файлом для выбора картинки:
private string ChoosePicture()
{
fDialog.Title = "Select Picture";
fDialog.Filter = "Image Files (*.bmp, *.gif, *.jpg)|*.bmp; *.gif*;*.jpg";
fDialog.InitialDirectory = "C:";
fDialog.ShowDialog();
fDialog.AddExtension = true;
fDialog.CheckFileExists = true;
fDialog.CheckPathExists = true;
//returns a string for the directory
return fDialog.FileName.ToString();
}
Использование флажка в диалоговом окне результатов также не решило мою проблему:
fDialog.AddExtension = true;
fDialog.CheckFileExists = true;
fDialog.CheckPathExists = true;
DialogResult res = fDialog.ShowDialog();
if (res == DialogResult.OK)
{
//returns a string for the directory
return fDialog.FileName.ToString();
}
return null;
Код работает, если я выбираю картинку и завершаю выбор файла. Однако, если я отменяю процесс в любой момент между ними, я получаю исключение «Путь не имеет юридической формы». Я не уверен, какую часть я представляю, я мог бы позаботиться об этом с try-catch
, однако я не уверен, какая часть вызывает проблему? Если я поставлю try catch
вокруг вызова метода ChoosePicture()
, я могу, по крайней мере, остановить его сбой программы, но исключение по-прежнему выдается, когда в fdialogbox не выбрано ни одного изображения.