如果线程正在进行中,Gif图像不会动画

时间:2015-04-08 10:30:46

标签: multithreading gif

我有一个PictureBox的窗体。我已经添加了.gif个文件。这个表单是一个进步条,所以我在一个单独的线程然后一个主线程打开它。我遇到的问题是,所有线程都已完成gif image未启动animating

请建议。以下是我的代码:

private bool StartUploading()
{

    objLoadingThread = new Thread(LoadProgressBar);
    objLoadingThread.Start();
    .. 
    ..
    ..
    ..
    StopProgress = true;
}

// Progress bar
private void LoadProgressBar()
{
    objAlertForm = new AlertForm();
    objAlertForm.Show();
    objAlertForm.Refresh();
    while (!StopProgress)
    {
        for (int i = 0; i <= 100; i++)
        {
            objAlertForm.ProgressValue = i;
            if (StopProgress)
            {
                break;
            }
            Thread.Sleep(100);
        }
    }
    objAlertForm.Hide();
    StopProgress = false;
    objLoadingThread.Abort();
}

1 个答案:

答案 0 :(得分:0)

Thread.Sleep将使主线程处于休眠状态而不是objLoadingThread线程。

如果你需要延迟,你可以寻找一些大迭代的循环。