1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
| private void BT_Selection_Repertoire_PD_Click(object sender, EventArgs e)
{
// ==========================================================================
//Ouverture de la boite de dialog
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
//Remise à zéro et création des options de la liste
listView1.Clear();
//Active la fonction classement
listView1.Sorting = SortOrder.Ascending;
//Active les checkboxes
listView1.CheckBoxes = false;
//Active l'affichage des grilles
listView1.GridLines = true;
//Active le mode détail
listView1.View = View.Details;
listView1.FullRowSelect = true;
//Création des colonnes
ColumnHeader header1, header2, header3, header4;
header1 = new ColumnHeader();
header2 = new ColumnHeader();
header3 = new ColumnHeader();
header4 = new ColumnHeader();
//Création des noms de olonnes avec quelques options (taille, etc...)
header1.Text = "Nom";
header1.TextAlign = HorizontalAlignment.Left;
header1.Width = 170;
header2.TextAlign = HorizontalAlignment.Left;
header2.Text = "Taille";
header2.Width = 80;
header3.TextAlign = HorizontalAlignment.Left;
header3.Text = "Modifier le";
header3.Width = 75;
header4.TextAlign = HorizontalAlignment.Left;
header4.Text = "Répertoire";
header4.Width = 400;
//Ajout des colonnes à la listView
listView1.Columns.Add(header1);
listView1.Columns.Add(header2);
listView1.Columns.Add(header3);
listView1.Columns.Add(header4);
//Récupération du chemin
string dossier_selectionner;
TextBox_Chemin_IM.Text = "";
dossier_selectionner = folderBrowserDialog1.SelectedPath;
DirectoryInfo dirInfo = new DirectoryInfo(dossier_selectionner);
// dossier_selectionner = Path.GetPathRoot (dossier_selectionner); //=> convertion de chemin ok lettre du lecteur
dossier_selectionner = Path.GetFullPath(dossier_selectionner);
TextBox_Chemin_PD.Text = dossier_selectionner;
TextBox_Chemin_PD.Enabled = false;
try
{
//Ajout d'un filtre afin d'ouvrir que les fichiers texte (par exemple)
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
//compter le nombre de fichiers dans le répertoire séléctionné
Label_NB_Fichier_PD.ForeColor = Color.Green;
Label_NB_Fichier_PD.Text = "NB Fichiers: " + files.Count();
//Vérifie la présence de fichier du type sélectionner auparavent
if (files != null)
{
progressBar1.Minimum = 0;
progressBar1.Maximum = files.Count();
progressBar1.Step = 1;
//listView1.BeginUpdate();
//Pour chaque fichier trouvé, on récupére ces infos
foreach (FileInfo file in files)
{
try {
ListViewItem item = new ListViewItem(file.Name);
item.SubItems.Add(normalizeSize(file.Length));
item.SubItems.Add(file.LastWriteTime.ToShortDateString());
item.SubItems.Add(file.Directory.ToString());
listView1.Items.Add(item); //Ajout à la liste
Label_NB_Delete_File_PD.Text = "NB Fichiers Supprimé: " + listView1.Items.Count;
Application.DoEvents();
progressBar1.PerformStep();
}
catch {} // si erreur chemin trop long (+260 caratère) correction OK
}
}
}
catch (UnauthorizedAccessException ex)
{
MessageBox.Show("Erreur Trouvé:" + ex , "Accès refusé", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
else
{
MessageBox.Show("Aucun Dossier N'a été Sélectionné", "Aucun Dossier Sélectionné", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
}
} |
Partager