private void GetContenu() { try { double tailleKo = 0, tailleMo = 0, tailleGo = 0; decimal nbFichierGo = 0; int nbFiles = 0, nbDir = 0; foreach (FileInfo file in Files) { //Pour chaque fichiers du dossier de téléchargement nbFiles++; //Incrémentation du tailleKo = file.Length / 1024; //On récupère la taille du fichier courant en Ko tailleMo = Math.Round(Convert.ToDouble(tailleKo / 1024), 2); //Puis conversion en Mo tailleGo = Math.Round(Convert.ToDouble(tailleMo / 1024), 2); // Et en Go if (file.Name != "desktop.ini") { //On vérifie que le fichier en cours n'est pas Desktop.ini, qui est un fichier système if (tailleKo == 0) { dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo); //Si le fichier est très petit alors on n'ajoute que sa taille en Ko } else if (tailleGo < 0.1) { dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo, tailleMo); //Sinon on ajoute la taille en Mo } else { dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo, tailleMo, tailleGo); //Et sinon on ajoute tout } } } foreach (DirectoryInfo dir in Directories) { //Pour chaque dossiers du dossier de téléchargement nbDir++; //Incrémentation du nombre de dossier //Le traitement est le même que pour les fichiers tailleKo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Ko")), 2); tailleMo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Mo")), 2); tailleGo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Go")), 2); if (tailleKo == 0) { dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo); } else if (tailleGo < 0.1) { dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo, tailleMo); } else { dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo, tailleMo, tailleGo); } } if (nbFiles == 0 && nbDir == 0) { //Si aucun fichier ni sous-dossiers n'a été trouvé, alors on désactive tout et on affiche un message dGV_Telechargement.Columns[0].Visible = false; dGV_Telechargement.Columns[1].Visible = false; dGV_Telechargement.Columns[2].Visible = false; dGV_Telechargement.Columns[3].Visible = false; dGV_Telechargement.Columns[4].Visible = false; MessageBox.Show("Le dossier est vide", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } for (int i = 0; i < dGV_Telechargement.Rows.Count; i++) { //On vérifie s'il y a une ligne qui utilise la colonne Taille (en Go) nbFichierGo += Convert.ToDecimal(dGV_Telechargement.Rows[i].Cells["ColumnTailleGo"].Value); } if (nbFichierGo < 1) { //Si ce n'est pas le cas, alors on la désactive dGV_Telechargement.Columns["ColumnTailleGo"].Visible = false; } } catch (Exception e) { //Affichage d'un message en cas d'erreur MessageBox.Show(e.Message); } }