Je veux montrer la progression des calculs, qui sont effectué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 dois effectuer une étape après chaque calcul. Mais que se passe-t-il si j'effectue les 100 000 calculs dans une 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 ça.