Diskuze: kopírování souborů s progress barem
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Skus toto
public delegate void IntDelegate(int Int);
public static event IntDelegate FileCopyProgress;
public static void CopyFileWithProgress(string source, string destination)
{
var webClient = new WebClient();
webClient.DownloadProgressChanged += DownloadProgress;
webClient.DownloadFileAsync(new Uri(source), destination);
}
private static void DownloadProgress(object sender, DownloadProgressChangedEventArgs e)
{
if(FileCopyProgress != null)
FileCopyProgress(e.ProgressPercentage);
}
Ahoj, já v tom nevidím chybu, kdyby to byla chyba Threadu, tak to padne. Zkus to bez těch tabů, když si to krokuješ mění se Ti ta hodnota, nemohl si něco přehlídnout?
Na ten tab s tou instalací jsem dal tlačítko a když se na něj klikne tak se to začne instalovat ale stejně to neukazuje který soubor se kopíruje.
nemuzes kopirovat a upravovat GUI na jednom vlakne. ta operace File.Copy zasekne volajici vlakno, v tomto pripade UI vlakno, takze jednak se aplikace seka pri kopirovani a taky se proste nestihne prepisovat ten text protoze tam mas smycku. musis spustit kopirovani na jinem vlakne nez UI a pak pomoci metody Invoke volat aktualizace UI.
Ahoj, moje odpověd je zbytečná, správně to píše sadlomaslox25, já jsem jezdil nahoru a dolů, tak jsem si to četl tak, že máš to copy async.
Na toto je nejjednodušší použít BackGroundWorker
http://www.itnetwork.cz/…groundworker
Nevím co v tom je, protože to je premiový článek, ale třeba tam něco najdeš
Zobrazeno 11 zpráv z 11.