Я пытаюсь создать программу, которая загружает файл конфигурации из другого приложения.Если файл существует, он загружает его и отображает сообщение, но если файл конфигурации недействителен, он отображает сообщение об ошибке, а затем открывает диалоговое окно для загрузки правильного файла.Но если пользователь перезагружает неправильный файл, то же диалоговое окно должно появиться снова, но в этом случае мой код дает сбой.
Аналогично, если файл не существовал с самого начала, он отображает диалоговое окно для загрузки файла, но если будет дано разрешение отменить диалоговое окно или снова будет выбран неправильный файл, мой код завершится ошибкой.
Я знаю, что решением будет использование циклов, но я не уверен, как его структурировать.Pd: searchfile () - это моя функция для открытия диалогового окна, а readconfig () - моя функция для чтения файла конфигурации другого приложения.
strfilenamepath = @"C:\Users\test\dogs.exe.config";
if (File.Exists(strfilenamepath))
{
onlyFilename = System.IO.Path.GetFileName(strfilenamepath);
textBox1.Text = onlyFilename;
try
{
string[] valores = readConfig(strfilenamepath);
MessageBox.Show(valores[0] + valores[1] + valores[2]);
}
catch (Exception ex)
{
MessageBox.Show("Error loading config file." + ex.Message);
searchFile();
onlyFilename = System.IO.Path.GetFileName(strfilenamepath);
textBox1.Text = onlyFilename;
string[] valores = readConfig(strfilenamepath);
MessageBox.Show(valores[0] + valores[1] + valores[2]);
}
}
else
{
searchFile();
onlyFilename = System.IO.Path.GetFileName(strfilenamepath);
textBox1.Text = onlyFilename;
try
{
readConfig(strfilenamepath);
string[] valores = readConfig(strfilenamepath);
MessageBox.Show(valores[0] + valores[1] + valores[2]);
}
catch (Exception ex)
{
MessageBox.Show("Error loading config file." + ex.Message);
searchFile();
onlyFilename = System.IO.Path.GetFileName(strfilenamepath);
textBox1.Text = onlyFilename;
string[] valores = readConfig(strfilenamepath);
MessageBox.Show(valores[0] + valores[1] + valores[2]);
}
}