// Fonction chargeant le fond lié à la variable id dans l'array fichiers private void ChargerFond(bool retry = false) { if (id >= 0 && id < fichiers.Length) { // On prépare l'application du fond Wallpaper fond = new Wallpaper(fichiers[id].FullName, Func.ConvertirAffichage(affichage), Func.ConvertirCouleur(couleur)); // Si le fichier actuel n'est pas listé dans les fichiers illisibles if (!mauvaisFichiers.Contains(fichiers[id].FullName)) { labelNom.ForeColor = Color.Black; infobulleNom.SetToolTip(this.labelNom, string.Empty); labelNom.Text = Texte.Chargement; this.Refresh(); // On compte le nombre de fond affichés Registre.CompterFond(); try { fond.Afficher(conversion); } // On tente d'afficher le fond catch // Si il y a eu une erreur { SupprimerFichier(true); // On demande à l'utilisateur si il veut supprimer le fichier (et on le liste en tant que fichier illisible labelNom.ForeColor = Color.Red; this.Refresh(); // On compte l'erreur Registre.CompterErreur(); } // On recharge les infos RechargerInfo(); } else // Si le fichier est listé en tant que fichier illisible { if (!retry) { // On affiche son nom en rouge, et on ne le l'affiche pas labelNom.ForeColor = Color.Red; RechargerInfo(); } else { try { fond.Afficher(conversion); labelNom.ForeColor = Color.Black; mauvaisFichiers = mauvaisFichiers.Where(val => val != fichiers[id].FullName).ToArray(); RechargerInfo(); Registre.CompterFond(); } catch {} } } } }
// Fonction qui réaffiche le fond d'écran initial public static void AncienFond() { try // On essaye de remettre le fond { if (File.Exists(cheminAncienFond)) { Wallpaper fond = new Wallpaper(cheminAncienFond, Func.ConvertirAffichage(ancienAffichage), ancienneCouleur); fond.Afficher(false); } else { Wallpaper fond = new Wallpaper(null, Func.ConvertirAffichage(ancienAffichage), ancienneCouleur); fond.Afficher(false, true); if (!string.IsNullOrEmpty(cheminAncienFond)) { MessageBox.Show(Texte.AncienFondSupprimé, Texte.ErreurTitre, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception e) // Si il y a eu une erreur, on l'affiche { MessageBox.Show(Texte.ErreurAncienFond + "\n\n" + "DEBUG :\nFichier : " + cheminAncienFond + "\nMode : " + ancienAffichage + "\nCouleur :" + ancienneCouleur + "\n\n" + Texte.ErreurTitre + " :\n" + e , Texte.ErreurTitre, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }