На самом деле вы можете использовать Application.ExecutablePath
, чтобы получить путь к исполняемому файлу. и затем просто легко проверьте, не превышает ли число файлов в нем больше нуля.
string path=Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"image_default");
string[] anyfirstimage = Directory.GetFiles(path, "*.jpg");
if(anyfirstimage.Length > 0) BackgroundImage = Image.FromFile(anyfirstimage[0]);
Если могут быть другие файлы, кроме изображений, убедитесь, что вы используете перегрузку шаблона GetFiles()
, как Directory.GetFiles(path, "*.jpg")
, чтобы убедиться, что другой формат файла не выбран.
и в качестве ответа на ваш комментарий шаблон поиска не принимает несколько шаблонов, но вы можете отфильтровать их позже, например:
var anyfirstimage = Directory.GetFiles(path).Where(x=> {var l = x.ToLower();
return l.EndsWith(".jpg") || l.EndsWith(".png") || l.EndsWith(".gif");}).ToArray();
наконец, код должен быть таким:
string path=Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"image_default");
string anyfirstimage = Directory.GetFiles(path).Where(x=> {var l = x.ToLower();
return l.EndsWith(".jpg") || l.EndsWith(".png") || l.EndsWith(".gif");}).FirstOrDefault();
if(anyfirstimage != null) BackgroundImage = Image.FromFile(anyfirstimage);