Je veux montrer la progression des calculs, qui sont exécutés dans une bibliothèque externe.
Par exemple, si j'ai une méthode de calcul et que je veux l'utiliser pour 100000 valeurs dans ma classe Form, je peux écrire:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Caluculate(int i)
{
double pow = Math.Pow(i, i);
}
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Maximum = 100000;
progressBar1.Step = 1;
for(int j = 0; j < 100000; j++)
{
Caluculate(j);
progressBar1.PerformStep();
}
}
}
Je devrais effectuer une étape après chaque calcul. Mais que faire si j'effectue tous les 100000 calculs en méthode externe. Quand dois-je "exécuter l'étape" si je ne veux pas que cette méthode dépende de la barre de progression? Je peux, par exemple, écrire
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void CaluculateAll(System.Windows.Forms.ProgressBar progressBar)
{
progressBar.Maximum = 100000;
progressBar.Step = 1;
for(int j = 0; j < 100000; j++)
{
double pow = Math.Pow(j, j); //Calculation
progressBar.PerformStep();
}
}
private void button1_Click(object sender, EventArgs e)
{
CaluculateAll(progressBar1);
}
}
mais je ne veux pas faire comme ça.