Пытаюсь сделать копирование файлов с ProgressBar. Всё в принципе работает но вот форма всё таки виснит при копирование. Может чего не так сделал при создании потока. Может кто помочь?
Сам исходник вот
P.S. Если надо могу и проект выложить
Пытаюсь сделать копирование файлов с ProgressBar. Всё в принципе работает но вот форма всё таки виснит при копирование. Может чего не так сделал при создании потока. Может кто помочь?
Сам исходник вот
P.S. Если надо могу и проект выложить
Добавив в ваш код логирование можно сразу увидеть, что копированием на самом деле занимается главный поток и в этом ваша проблема.
Переделал метод:
private void cp(string path)
{
string dest = @"C:\Temp";
try
{
if (File.Exists(path))
{
var destPath = Path.Combine(dest, Path.GetFileName(path));
File.Copy(path, destPath, true);
}
progresPart.Invoke(new Action(() =>
{
progresPart.Value++;
progresPart.Update();
}));
}
catch (Exception ex)
{
MessageBox.Show("Ошибка: " + ex.Message);
}
}