一、實現
/// <summary> /// 初始化進度條 /// </summary> /// <param name="progressBar">進度條組件</param> /// <param name="minValue">當前進度值</param> /// <param name="maxValue">進度顯示標簽</param> private void InitProgressBar(ProgressBar progressBar,int minValue,int maxValue) { if (progressBar == null || minValue < 0 || maxValue < 0 || minValue >= maxValue) return; progressBar.Minimum = minValue; progressBar.Maximum = maxValue; } /// <summary> /// 啟動進度條 /// </summary> /// <param name="progressBar">進度條組件</param> /// <param name="value">當前進度值</param> /// <param name="lable">進度顯示標簽</param> private void StartProgressBar(ProgressBar progressBar, int value, Label lable) { if (progressBar == null || lable == null) return; Application.DoEvents(); progressBar.Value = value; int tmp = value * 100 / progressBar.Maximum; lable.Text = tmp + "%__"+value+"/"+progressBar.Maximum; lable.Refresh(); progressBar.Refresh(); }
二、使用
int index = 1; int maxIndex = dt.Rows.Count; InitProgressBar(progressBar1,index,maxIndex); foreach (DataRow dr in dt.Rows) { StartProgressBar(progressBar1,index,label4); index++; //具體邏輯 } }