我的应用程序是一个 C# Windows 窗体应用程序。当用户按下“生成”按钮时,我的应用程序会创建一个新线程并运行新进程,该进程类似于下面的伪代码
Loop counter = 1 to N
progressbar = counter/N
Display msg on label1
Do some tasks
Loop
progressbar = 100%
Display msg on lable1
我已经委派了我的进程栏和标签消息,消息在循环中显示时没有问题我什至添加了一个事件以在标签文本更改时运行 Application.DoEvents() ,但是我的最后一个消息从未出现,我尝试将 Application.DoEvents() 放在最后一个 msg 标签之后,但没有解决方案。其他人以前遇到过这个吗?
感谢大家的帮助!
编辑
这就是我编码最后一个味精的方式(循环后的那个)
this.BeginInvoke((MethodInvoker)delegate()
{
toolStripProgressBar1.Value = 100;
btnCancel.Enabled = false;
btnBrowse.Enabled = true;
btnSaveTo.Enabled = true;
btnGenerate.Enabled = false;
// Performance testing
lblGeneratingInfo.Text = "Generation Complete! Total Run time: " + DateTime.Now.Subtract(startDate).ToString();
});
修复:我假设我尝试显示的文本太长......当我将“生成完成:总运行时间”替换为“运行时间:”时,它显示 o_o