외부 라이브러리에서 수행되는 계산의 진행 상황을 보여주고 싶습니다.
예를 들어 계산 메서드가 있고 Form 클래스의 100000 값에 사용하려면 다음과 같이 작성할 수 있습니다.
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();
}
}
}
계산 후 단계를 수행해야합니다. 그러나 외부 방법으로 100000 개의 계산을 모두 수행하면 어떨까요? 이 방법이 진행률 표시 줄에 종속되지 않도록하려면 언제 "단계를 수행"해야합니까? 예를 들어 다음과 같이 쓸 수 있습니다.
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);
}
}
하지만 그렇게하고 싶지 않습니다.