在你的循環每次打電話
ProgressBar pBar = new ProgressBar();
您創建一個進度條的新實例。
一種選擇是在列表或字典中記住此實例。
類似的東西:
List<string> items = new List<string>() { "item" };
Dictionary<string, ProgressBar> progressBars = new Dictionary<string, ProgressBar>();
private void button1_Click(object sender, EventArgs e)
{
int count=0;
foreach(var item in items)
{
count++;
ProgressBar pBar = new ProgressBar();
pBar.Name = "progressBar_" + count;
pBar.Width = 200;
pBar.Height = 15;
pBar.Minimum = 1;
pBar.Maximum = 100;
pBar.Value = 1;
panel1.Controls.Add(pBar);
progressBars.Add(pBar.Name, pBar);
}
}
private void button2_Click(object sender, EventArgs e)
{
progressBars["progressBar_1"].PerformStep();
}
第二個選擇是尋找這種情況下在你的面板的控制。
List<string> items = new List<string>() { "item" };
private void button1_Click(object sender, EventArgs e)
{
int count=0;
foreach(var item in items)
{
count++;
ProgressBar pBar = new ProgressBar();
pBar.Name = "progressBar_" + count;
pBar.Width = 200;
pBar.Height = 15;
pBar.Minimum = 1;
pBar.Maximum = 100;
pBar.Value = 1;
panel1.Controls.Add(pBar);
progressBars.Add(pBar.Name, pBar);
}
}
private void button3_Click(object sender, EventArgs e)
{
(panel1.Controls.Find("progressBar_1", false).Single() as ProgressBar).PerformStep();
}
您需要更具體一點......我們應該如何知道您要在哪個進度條上顯示進度? –
你如何更新進度? –
我編輯了這個問題..希望我的問題現在很清楚 – Madonna10