我正在尝试创建一个启动画面窗体。其不透明度值设置为零。我有一个名为tmrfadein
的计时器。它的间隔等于5.
如果我使用下面的代码,那么它按预期工作,渐变形式逐渐出现。
if (Opacity == 1)
{
tmrfadein.Enabled = false;
}
Opacity += 0.01;
如果我使用此代码,则会在不等待
的情况下显示启动画面do
{
Opacity += 0.01;
}
while (Opacity < 1);
tmrfadein.Enabled = false;
当我调试代码时,一切看起来都不错。第二个有什么问题?
答案 0 :(得分:1)
第二个例子在执行中没有任何延迟。第一个示例仅增加不透明度值,然后等待下一个计时器作业。第二个示例保持递增,直到其值在第一个计时器作业中为1,因此没有延迟。您可以在执行操作时添加等待,或者只是坚持使用第一个示例吗?
答案 1 :(得分:0)
do..while
循环运行完成而不更新UI。您需要计时器或类似的东西来显示动画。