【发布时间】:2010-10-21 14:32:46
【问题描述】:
我正在尝试创建一个包含表单进度条(只是 GIF 图像)的线程。
我已经在一个大方法之前调用了StartProgress()。基本上,当线程启动时,它会加载 ProgressBar 表单(我想一直显示,并在不需要时将其隐藏)并且 ProgressActive 设置为 true,它应该显示表单,直到 ProgressActive 为 false ,然后表单应该被隐藏(直到进度再次处于活动状态)。这是我到目前为止所拥有的,但它冻结了我:(
public static string ProgressInfo="Test";
public static bool ProgressActive=true;
public static bool ThreadStarted = false;
public static void StartProgress()
{
while (!ThreadStarted)
{
Thread t = new Thread(new ThreadStart(Progress));
ThreadStarted = true;
t.Start();
}
}
public static void Progress()
{
while (ThreadStarted)
{
LoadingBar lb = new LoadingBar();
lb.Show();
lb.TopMost = true;
while (ThreadStarted)
{
if (ProgressActive)
{
lb.Visible = true;
lb.lblLoadingStatus.Text = ProgressInfo;
}
else
{
lb.Visible = false;
}
Thread.Sleep(1000);
}
}
}
编辑:我正在尝试在静态类中执行此操作。
【问题讨论】:
标签: c# winforms multithreading