我在初始屏幕上有一个标签,显示 4 秒。我正在尝试使标签以百分比形式显示加载过程。显然,这只是为了向用户显示程序实际上正在启动,而不是实际“加载”任何东西。有没有办法让标签在 4 秒内显示百分比(从 1% 到 100%)?有点迷失了如何做到这一点。
问问题
3578 次
3 回答
4
在窗体上放置一个 Timer 控件,并将其 Interval 属性设置为 40,并将其 Enabled 属性设置为 true。像这样创建一个表单级变量:
private int _Progress = 0;
在 Timer's Tick 事件中,输入以下代码:
if (_Progress < 100)
{
_Progress++;
label1.Text = _Progress.ToString() + "%";
}
else
{
timer1.Enabled = false;
}
计时器并不是真正精确到毫秒,所以这不会花费 4 秒,但它会完成这项工作。
于 2009-10-22T00:01:59.333 回答
1
假设您正在谈论 WinForms(不是 WPF),最简单的方法是计时器控件。将超时设置为 40 毫秒(4 秒 = 4000 毫秒。4000 毫秒/100 次更新 = 40 毫秒)。创建一个类级别的整数来跟踪进度。然后您的 OnTick 事件代码将如下所示...
if(progress < 100)
{
progress++;
progessLabel.Text = String.Format("Loading... Progress: {0}%", progress);
}
else
{
timer.Enabled = false;
}
于 2009-10-22T00:07:56.900 回答
0
间隔设置为 100 毫秒的计时器将是最简单的方法。记下计时器事件被调用的次数,并以 2.5% 的速度更新进度条。
虽然这可行,但我想说进度条不适合这种情况。相反,只是一个动画图形会更好,因为它表明您的程序正在启动,但不会像进度条那样误导。
我认为微软经常犯这个错误,在某些应用程序中使用误导性的进度条。
于 2009-10-22T00:08:23.967 回答