C#表单,绘制一个进度线

时间:2014-08-31 10:04:38

标签: c# winforms

我有以下代码:

public async void startCountdown()
{
    do
    {               
        label9.Text = frsL.ToString();

        frsL -= frsLStep;

        g = tabPage1.CreateGraphics();
        g.DrawLine(pen1, 5, 7, (int)frsL + 5, 7);

        await Task.Delay(1000);

    } while (timeToSeconds());
}

我试图每秒刷新一个进度线,但线条没有变化。我使用label9只是为了检查frsL值是否正在变化而且是,但是该行不会被重新绘制并且它保持在它的起始长度。

2 个答案:

答案 0 :(得分:0)

是的,问题是线路正在减少,我必须在绘制新线路之前删除旧线路。 插入'g.Clear(Color.White);'在'g.DrawLine'修复问题之前。 不好的是,有时整条线闪烁。

答案 1 :(得分:-1)

嗨,我建议您在表单中放置一个计时器,将其间隔设置为 1000 并将您的代码粘贴到它的 tick 函数中。

祝你好运!