Bonjour,
Je suis novice et actuellement je fais une petite application de suppression pour apprendre le c#, je rencontre 1 problèmes que je ne parvient pas résoudre.
Je cherche à afficher une "progressbar" qui progresse et qui affiche le pourcentage au file du listage dans une "Listview" avec le bouton "folderBrowserDialog1" ou lors de la suppression des fichiers effectué avec une autre bouton supprimer.
Je n'arrive pas faire en sorte qu'elle avance progressivement (temps réel) lors de la suppression de chaque fichier ou lors du listage des fichiers. J'ai essayé avec backgroundWorker1 mais le résulta est le même, j'ai aussi essayer depuis le lien suivant https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx.
Partie de mon code lors de la suppression:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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 = true; //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 colonnes 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.GetFullPath(dossier_selectionner); TextBox_Chemin_PD.Text = dossier_selectionner; TextBox_Chemin_PD.Enabled = false; //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) { foreach (FileInfo file in files) { pBar1.Minimum = 0; pBar1.Maximum = file.Name.Count(); pBar1.Value = pBar1.Minimum; pBar1.Step = file.Name.Count(); // while (pBar1.Value < pBar1.Maximum) // { // pBar1.Value += 1; // System.Threading.Thread.Sleep(1000); // } 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); file.delete; pBar1.PerformStep(); } } else { MessageBox.Show("Aucun Dossier N'a été Sélectionné", "Aucun Dossier Sélectionné", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); } } }
Quelqu'un aurait-il une idée ou un exemple s'il vous plait.
Merci d'avance pour vos retour.
Partager