ProgressBar Malwarebytes

Statut
N'est pas ouverte pour d'autres réponses.

AeroRev

Membre
Inscription
26 Novembre 2013
Messages
209
Réactions
61
Points
2 406
RGCoins
25
Bonjour / Bonsoir, voici mon tout nouveau composant que j'ai créé moi même, il s'agit de la progressbar de malwarebytes.

Voici un petit aperçu :
( désolé pour la mauvaise qualité )

s0zTcrz.gif


Lien :


Exemple d'utilisation :

Code:
Private Sub Start_Click(sender As Object, e As EventArgs) Handles Start.Click
Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

If Not Progress1.Value = Progress1.Maximum Then
Progress1.Value += 1
End If

If Progress1.Value = Progress1.Maximum Then
If Not Progress2.Value = Progress2.Maximum Then
Progress2.Value += 1
End If
End If

If Progress2.Value = Progress2.Maximum Then
If Not Progress3.Value = Progress3.Maximum Then
Progress3.Value += 1
End If
End If

If Progress3.Value = Progress3.Maximum Then
If Not Progress4.Value = Progress4.Maximum Then
Progress4.Value += 1
End If
End If

End Sub
 
Merci du partage !
Mais j'ai un problème, quand je lance je n'est pas l'image avec le point d'exclamation
 
Dernière édition:
Bonjour / Bonsoir, voici mon tout nouveau composant que j'ai créé moi même, il s'agit de la progressbar de malwarebytes.

Voici un petit aperçu :
( désolé pour la mauvaise qualité )

s0zTcrz.gif


Lien :


Exemple d'utilisation :

Code:
Private Sub Start_Click(sender As Object, e As EventArgs) Handles Start.Click
Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

If Not Progress1.Value = Progress1.Maximum Then
Progress1.Value += 1
End If

If Progress1.Value = Progress1.Maximum Then
If Not Progress2.Value = Progress2.Maximum Then
Progress2.Value += 1
End If
End If

If Progress2.Value = Progress2.Maximum Then
If Not Progress3.Value = Progress3.Maximum Then
Progress3.Value += 1
End If
End If

If Progress3.Value = Progress3.Maximum Then
If Not Progress4.Value = Progress4.Maximum Then
Progress4.Value += 1
End If
End If

End Sub
Vraiment GG elle pete :D
 
Ton code est clairement sal.
Fais plutôt comme cela ( sans utiliser de timer )
Code:
var     arrayPrg = new ProgressBar[] {progressBar1, progressBar2, progressBar3, progressBar4};
            for (int i = 0; i < arrayPrg.Length; ++i)
            {
                for (int j = 0; j < arrayPrg[i].Maximum; ++j)
                {
                    ++arrayPrg[i].Value;
                }
                System.Threading.Thread.Sleep(50);
            }
Ou bien:
Code:
        private void Form1_Load(object sender, EventArgs e)
        {
            var     arrayPrg = new ProgressBar[] {progressBar1, progressBar2, progressBar3, progressBar4};

            for (int i = 0; i < arrayPrg.Length; ++i)
            {
                progressUp(arrayPrg[i]);
                System.Threading.Thread.Sleep(50);
            }
        }

        private void progressUp(ProgressBar prg)
        {
            while (prg.Value < prg.Maximum)
                ++prg.Value;
        }
 
Ton code est clairement sal.
Fais plutôt comme cela ( sans utiliser de timer )
Code:
var     arrayPrg = new ProgressBar[] {progressBar1, progressBar2, progressBar3, progressBar4};
            for (int i = 0; i < arrayPrg.Length; ++i)
            {
                for (int j = 0; j < arrayPrg[i].Maximum; ++j)
                {
                    ++arrayPrg[i].Value;
                }
                System.Threading.Thread.Sleep(50);
            }
Ou bien:
Code:
        private void Form1_Load(object sender, EventArgs e)
        {
            var     arrayPrg = new ProgressBar[] {progressBar1, progressBar2, progressBar3, progressBar4};

            for (int i = 0; i < arrayPrg.Length; ++i)
            {
                progressUp(arrayPrg[i]);
                System.Threading.Thread.Sleep(50);
            }
        }

        private void progressUp(ProgressBar prg)
        {
            while (prg.Value < prg.Maximum)
                ++prg.Value;
        }

J'avoues que le code n'est pas de ce qu'il y a de mieux, mais le tien n'est pas top non plus, pourquoi appeler la fonction sleep sur le thread de l'UI ? l'application va se freezer.
 
J'avoues que le code n'est pas de ce qu'il y a de mieux, mais le tien n'est pas top non plus, pourquoi appeler la fonction sleep sur le thread de l'UI ? l'application va se freezer.
Tout simplement parce-que, c'est trop rapide. Tu vois toutes les progressBar se remplir en même temps même si ça devrait pas être le cas, mais comme c'est tellement rapide que l'on croit qu'elle se remplissent en même temps.
Donc pour ' corriger ' ce problème je fais attendre l'application, et, non l'application ne freeze pas :)
 
Tout simplement parce-que, c'est trop rapide. Tu vois toutes les progressBar se remplir en même temps même si ça devrait pas être le cas, mais comme c'est tellement rapide que l'on croit qu'elle se remplissent en même temps.
Donc pour ' corriger ' ce problème je fais attendre l'application, et, non l'application ne freeze pas :)

Je sais tout ça, merci de me le rappeler, et normalement, l'application doit freezer, car tu appelles sleep sur le thread de l'UI.
Et c'est pour ça qu'un timer est plus utile, car il te permet de gérer les intervalles.
 
ELLE NE FREEZE PAS.
Tu sais pas ce que tu dis --'

N'importe quoi, thread.sleep dans form1_load c'est sur le thread de l'UI, essayes donc ça :

Code:
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
System.Threading.Thread.Sleep(50000)
End Sub

Tu m'en diras des nouvelles.
 
J'ai utilisé la même chose.. Ouvres t'es yeux ?

Code:
private void Form1_Load(object sender, EventArgs e)
{
var arrayPrg = new ProgressBar[] {progressBar1, progressBar2, progressBar3, progressBar4};

for (int i = 0; i < arrayPrg.Length; ++i)
{
progressUp(arrayPrg[i]);
System.Threading.Thread.Sleep(50);
}
}
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut