ฉันต้องการแสดงความคืบหน้าของการคำนวณซึ่งกำลังดำเนินการในไลบรารีภายนอก
ตัวอย่างเช่นถ้าฉันมีวิธีการคำนวณและฉันต้องการใช้มันสำหรับ 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);
}
}
แต่ฉันไม่อยากทำแบบนั้น