foreach循环中的标签元素变化和动画

Label element changing and animation in foreach loop

我正在尝试通过动画将数据简单地传输到数据库。我成功地为进度条设置了动画,但我的百分比标签没有改变值和动画。 我的代码如下:

pBar.Maximum = query.Count( ); //pBar is progress bar
foreach ( var cell in query )
{
    pBar.Value++;
    lblYuzde.Text = "%" + ( pBar.Value / pBar.Maximum ) * 100; //lblYuzde is label
    Application.DoEvents( );
    //Do events
}

进度条与动画一起使用效果很好,但标签没有变化。我的错误是什么?

您需要添加行

foreach(...)
{
  ...
  lblYuzde.Refresh();// or lblYuzde.Invalidate();
}

您的操作只有整数值,您的结果可能不正确。

您必须将其中一个值转换为 double。

lblYuzde.Text = "%" + ( (double)pBar.Value / pBar.Maximum ) * 100; //lblYuzde is label

编辑: 有关详细信息,请参阅:https://msdn.microsoft.com/en-us/library/3b1ff23f.aspx