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