如何使这个美丽和正确的代码?

时间:2011-08-25 22:50:19

标签: c# multithreading progress-bar

如何使这个代码变得美观和正确?

启用父窗口。

创建线程进度条。

执行代码

并关闭进度条

var iCount = 3;
while(iCount>0)
{
    if (myProgressBar!= null && myProgressBar.IsHandleCreated)
    {
        iCount = -1;
        break;
    }
    iCount--;
    Thread.Sleep(1000);
}
if (iCount != -1)
    return false;//MessageBox  

所有功能:

this.Enabled = false;
MyProgressBar myProgressBar = null;
    try
    {

        var thread2 = new Thread(delegate()
        {
            myProgressBar = new MyProgressBar(this);
            myProgressBar.ShowDialog();
        });
        thread2.Start();

        Thread.Sleep(100);

        var iCount = 3;
        while(iCount>0)
        {
            if (myProgressBar!= null && myProgressBar.IsHandleCreated)
            {
                iCount = -1;
                break;
            }
            iCount--;
            Thread.Sleep(1000);
        }
        if (iCount != -1)
            return false;//MessageBox

        for (int i = 0; i < list.Count; i++)
        {
            //more code
        }


    }
    catch (Exception e)
    {
    }
    finally
    {
        myProgressBar.CloseMe();
        this.Enabled = true;

    }

1 个答案:

答案 0 :(得分:5)

你见过BackgroundWorker班吗?

它将极大地简化您的逻辑。

相关问题