如何在递归方法中设置progressBar的最大值

时间:2015-01-25 13:30:24

标签: c# winforms

我有一个递归方法,它遍历文件夹中的文件,我也有一个进度条,我该如何设置它的最大值?

using System.IO;

private void Start()
{
    progressBar1.Maximum = ??
}


private void GetFiles(string path)
{
    try
    {
        foreach (string file in Directory.GetFiles(path))
        {
            Method(file);
        }
        foreach (string folder in Directory.GetDirectories(path))
        {
            GetFiles(folder);
        }
    }
    catch { }
}

private void Method(string file)
{
    listView1.Items.Add(file);
    progressBar1.Increment(1);
}

1 个答案:

答案 0 :(得分:1)

您的问题不是关于进度条(您已经发现了Maximum属性),而是关于在枚举之前确定目录中文件的数量。这是不可靠的。

您可以更好地使用连续动画(微调器)来指示正在进行的进度。 See this question关于如何做到这一点。