ProgressBar最大值无法正常工作(从Array接收)

时间:2013-11-06 11:08:45

标签: c# arrays directory progress-bar

我只是试图让我的prgress酒吧工作,但我有问题,我似乎无法设置最大值。我的代码从数组中获取Array.Length以尝试获取此值,但它似乎不起作用。我似乎正在经历一个数组,它在读取中途被重置,所以我无法获得合法的价值。我环顾四周,没有其他人似乎有这个问题,所以我试验了一下。我的代码如下:

变量:

public string[] oldFiles;
public string[] newFiles;

功能(inDir和outDir的值只是目录的路径):

public void Backup(string inDir, string outDir)
    {
        if (Directory.Exists(outDir))
        {

            oldFiles = Directory.GetFiles(inDir); //Directory From Input
            newFiles = Directory.GetFiles(outDir); //Directory From Output
            System.IO.FileInfo oldFile;
            System.IO.FileInfo newFile;

            copyProgress.Minimum = 0;
            copyProgress.Maximum = oldFiles.Length + inDir.Length; //Problem Occurs Here
            copyProgress.Step = 1;

我似乎无法从此代码中获取copyProgress.Maximum的准确值,或者我尝试过的任何其他内容。任何帮助表示赞赏,干杯

1 个答案:

答案 0 :(得分:1)

替换为:

copyProgress.Maximum = oldFiles.Length + inDir.Length;
copyProgress.Step = 1;

以下:

copyProgress.Maximum = oldFiles.Length; 
copyProgress.Value= newFiles.Length;

删除对copyProgress.PerformStep()的调用。