Я настроил следующий тест на основе другого проекта, над которым я сейчас работаю, и, похоже, не могу получить индикатор выполнения, отображающий состояние при копировании файлов
BackgroundWorker workerThread = null;
public Form2()
{
InitializeComponent();
InstantiateWorkerThread();
}
private void InstantiateWorkerThread()
{
workerThread = new BackgroundWorker();
workerThread.ProgressChanged += WorkerThread_ProgressChanged;
workerThread.DoWork += WorkerThread_DoWork;
workerThread.WorkerReportsProgress = true;
workerThread.WorkerSupportsCancellation = true;
}
private void WorkerThread_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
lblStopWatch.Text = ("Progress: " + e.ProgressPercentage.ToString() + "%");
progressBar1.Value = e.ProgressPercentage;
}
private void WorkerThread_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i <= 100; i++)
{
// Report progress to 'UI' thread
workerThread.ReportProgress(i);
// Simulate long task
copytest();
}
}
private void btnStart_Click(object sender, EventArgs e)
{
workerThread.RunWorkerAsync();
}
private void copytest()
{
string pathFrom = @"C:\Test\WA8\CLR";
string pathTo = @"C:\Test\Test";
foreach (String file in Directory.GetFiles(pathFrom))
{
// Copy the current file to the new path.
File.Copy(file, Path.Combine(pathTo, Path.GetFileName(file)), true);
}
}
Я использую это как для моего примера Я нашел в Интернете
Я также попробовал этот пример с моим кодом и не работает Второй, как попытался
Что я делаю не так с этой настройкой? Копирование работает и занимает около 30 секунд, потому что есть только 50 файлов ..
Первый, как попытка
Моя форма проста, кнопка, индикатор выполнения и метка
Также, я думаю, чтобы исправить мое предыдущее утверждение ниже, текст метки действительно появляется, процент, который должен отображаться, не отображается .. Таким образом, метка отображается так, как видно на снимок экрана
Итак, что-то интересное, я сделал снимок экрана с формой ранее, что означало, что мне пришлось запустить приложение, чтобы показать ярлык на снимке, ну, поскольку я не закрывал приложение во время публикации, я вернулся к нему после моего предыдущего поста и обнаружил, что все обновлено, но не правильно. Все 59 файлов были скопированы, но, хотя копирование уже завершено, индикатор выполнения отображался только частично зеленым цветом, а метка отображала 5%. Почему процесс запускается, завершается и индикатор выполнения отображает только 5% завершения?