Ich möchte den Fortschritt von Berechnungen zeigen, die in einer externen Bibliothek ausgeführt werden.
Wenn ich beispielsweise eine Berechnungsmethode habe und diese für 100000 Werte in meiner Formularklasse verwenden möchte, kann ich Folgendes schreiben:
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();
}
}
}
Ich sollte nach jeder Berechnung einen Schritt ausführen. Was aber, wenn ich alle 100000 Berechnungen in einer externen Methode durchführe? Wann sollte ich "Schritt ausführen", wenn ich diese Methode nicht vom Fortschrittsbalken abhängig machen möchte? Ich kann zum Beispiel schreiben
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);
}
}
aber so will ich das nicht machen.