Tôi muốn hiển thị tiến trình tính toán đang thực hiện trong thư viện bên ngoài.
Ví dụ: nếu tôi có một số phương pháp tính toán và tôi muốn sử dụng nó cho 100000 giá trị trong lớp Biểu mẫu của mình, tôi có thể viết:
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();
}
}
}
Tôi nên thực hiện từng bước sau mỗi phép tính. Nhưng điều gì sẽ xảy ra nếu tôi thực hiện tất cả 100000 phép tính trong phương pháp bên ngoài. Khi nào tôi nên "thực hiện bước" nếu tôi không muốn làm cho phương pháp này phụ thuộc vào thanh tiến trình? Ví dụ, tôi có thể viết
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);
}
}
nhưng tôi không muốn làm như vậy.