动画数字计数器 c# - Windows Forms
Animated number counter c# - Windows Forms
我想用 C# 实现一个动画数字计数器。
有很多 material 可用于 JS - CSS 和 java ,但用于 c# 的不多。
我尝试了以下代码:
for (int i = 0; i<value; i++)
{
lblCounterDis.Text = i.ToString();
i++;
Thread.Sleep(5);
}
使用这个脚本我只冻结应用程序几秒钟。
我应该使用一些 BackgroundWorker 吗?还有更高级的方法吗?
您可以使用 await/async 来防止冻结
private async void button1_Click(object sender, EventArgs e)
{
await UpdateLabelAsync();
}
private async Task UpdateLabelAsync()
{
for(int i = 0; i < 1000; i++)
{
label1.Text = i.ToString();
await Task.Delay(100);
}
}
请注意,我在此示例中使用了 .net 6。
不确定它是否也适用于 .net 框架。
我想用 C# 实现一个动画数字计数器。 有很多 material 可用于 JS - CSS 和 java ,但用于 c# 的不多。 我尝试了以下代码:
for (int i = 0; i<value; i++)
{
lblCounterDis.Text = i.ToString();
i++;
Thread.Sleep(5);
}
使用这个脚本我只冻结应用程序几秒钟。 我应该使用一些 BackgroundWorker 吗?还有更高级的方法吗?
您可以使用 await/async 来防止冻结
private async void button1_Click(object sender, EventArgs e)
{
await UpdateLabelAsync();
}
private async Task UpdateLabelAsync()
{
for(int i = 0; i < 1000; i++)
{
label1.Text = i.ToString();
await Task.Delay(100);
}
}
请注意,我在此示例中使用了 .net 6。 不确定它是否也适用于 .net 框架。