string[] idit = File.ReadAllLines(textBox2.Text);
foreach (string barcoutn in idit){
barcountmax++;
}
foreach (string ids in idit){
//do sql stuff
barmovement++;
bgw1.ReportProgress(barmovement);
}
private void bgw1_ProgressChanged(object sender, ProgressChangedEventArgs e){
progressBar1.Value = e.ProgressPercentage;
}
我的进度条属性是从barcountmax设置的最大值和最小值= 0.
我似乎无法让我的进度条更新,我缺少什么?
答案 0 :(得分:4)
现在,您只在最后更新
foreach (string ids in idit)
{
//do sql stuff
barmovement++;
}
bgw1.ReportProgress(barmovement);
您需要随时更新:
foreach (string ids in idit)
{
//do sql stuff
barmovement++;
bgw1.ReportProgress(barmovement);
}
您需要使用0到100之间的int值调用ReportProgress。如果您直接使用barmovement
调用它,则可能存在问题。有关详细信息,请参阅ReportProgress的帮助:
percentProgress
输入:System.Int32
完成后台操作的百分比,从0到100。
答案 1 :(得分:2)
您是否将WorkerReportsProgress
设为true?默认情况下它是假的。