我试图在单击按钮的单独窗口上显示进度条。 我不想使用调度程序,调用函数,因为我不希望用户在完成之前做任何其他事情。
因此,在按钮上单击即可调用一个函数,该函数在内部使用委托来调用带有更新的函数。
void button click()
{
classA.function(list);
}
在classA里面
void function(list)
{
foreach(list)
calling the delegate function(ShowtProgress) to update the progress bar with current and max properties.
}
所以我的委托函数看起来像这样:
private void ShowtProgress(ProgressReport importProgressReport)
{
importProgressBar.UpdateProgressBar(importProgressReport.OverallProgress.TotalItems,importProgressReport.OverallProgress.ItemsProcessed);
importProgressBar.ShowDialog();
}
正如您所看到的那样,我正在处理当前已处理的数量以及进度条updateProgressbar函数的总项目以更新进度条。
我已将进度条的最小值定义为0。
但问题是,当min = 0并假设max = 1时,它首次显示showdialog(进度条)。它会一直等待用户的输入。在我不关闭对话框之前,处理不会更进一步,当再次调用此函数时,模态不会弹出或不会使用最新值进行更新。
如果我错过了什么,请告诉我。
答案 0 :(得分:1)
由于ShowDialog()
调用,它正在等待用户输入。使用普通Show()
(如果importProgressBar
不可见),或者只删除该行。